Template Class ElasticityProblemParameters

Inheritance Relationships

Base Type

  • public ParameterAcceptor

Class Documentation

template<int dim, int spacedim = dim>
class ElasticityProblemParameters : public ParameterAcceptor

Parameter set driving mesh generation, constitutive model, and solvers.

Unnamed Group

std::string output_directory = "."

Output, mesh, and finite-element setup parameters.

Output folder.

std::string output_name = "solution"

Output stem.

unsigned int fe_degree = 1

FE degree.

unsigned int initial_refinement = 5

Global refinements.

std::set<types::boundary_id> dirichlet_ids = {0}

Strong Dirichlet ids.

std::set<types::boundary_id> weak_dirichlet_ids = {}

Weak Dirichlet ids.

std::set<types::boundary_id> neumann_ids = {}

Neumann ids.

std::set<types::boundary_id> normal_flux_ids = {}

Flux-constraint ids.

MaterialProperties default_material_properties{"default"}

Fallback material.

std::map<types::material_id, std::string> material_tags_by_material_id

Id->tag map.

std::map<types::material_id, std::unique_ptr<MaterialProperties>> material_properties_by_id

Runtime material table.

std::string domain_type = "generate"

Grid source mode.

std::string name_of_grid = "hyper_cube"

Grid generator/input name.

std::string arguments_for_grid = "-1: 1: false"

Grid generator arguments.

std::string refinement_strategy = "fixed_fraction"

Adaptivity strategy.

double coarsening_fraction = 0.0

Coarsening fraction.

double refinement_fraction = 0.3

Refinement fraction.

unsigned int n_refinement_cycles = 1

Number of adapt cycles.

unsigned int max_cells = 20000

Global cell cap.

bool output_pressure = false

Enable pressure output.

double penalty_term = 1.0e4

Weak-Dirichlet penalty.

Unnamed Group

mutable ParameterAcceptorProxy<Functions::ParsedFunction<spacedim>> rhs

Volumetric forcing and forcing modulation.

double rhs_modulation = 0.0

Forcing modulation amplitude/factor.

Unnamed Group

mutable ParameterAcceptorProxy<Functions::ParsedFunction<spacedim>> bc

Dirichlet and Neumann boundary data with modulation factors.

double bc_modulation = 0.0

Boundary-condition modulation factor.

mutable ParameterAcceptorProxy<Functions::ParsedFunction<spacedim>> Neumann_bc

Neumann boundary data function.

double neumann_bc_modulation = 0.0

Neumann modulation factor.

Unnamed Group

mutable ParameterAcceptorProxy<ReductionControl> displacement_solver_control

Solver controls for different linear blocks.

mutable ParameterAcceptorProxy<ReductionControl> reduced_mass_solver_control

Mass solve control.

mutable ParameterAcceptorProxy<ReductionControl> augmented_lagrange_solver_control

Augmented-Lagrangian solve control.

mutable ParameterAcceptorProxy<ReductionControl> schur_complement_solver_control

Schur-complement solve control.

Unnamed Group

double initial_time = 0.0

Time-integration parameters.

Initial physical time.

double final_time = 0.0

Final physical time.

mutable double dt = 5e-3

Time-step size.

bool refine_time_step = false

Enable adaptive time step.

double beta = 0.25

Newmark beta.

double gamma = 0.5

Newmark gamma.

Public Functions

ElasticityProblemParameters()

Build and register all parameter subsections used by the elasticity model.

inline const MaterialProperties &get_material_properties(const types::material_id material_id) const

Return material parameters associated with a material id.

void check_model_consistency()

Check model consistency and infer derived modes after parameter parsing.

This performs the requested consistency checks and sets:

  • time_mode based on {initial_time, final_time} and rho across all materials;

  • elasticity_model based on neta across all materials;

This is called automatically from the parse callback once all material subsections have been parsed (i.e., in the second pass when material tags are used).

Public Members

TimeMode time_mode = TimeMode::Static

Inferred time mode (set during parameter parsing).

Note

Parameters are parsed using a two-pass strategy (see initialize_parameters() in include/utils.h). We infer modes only after pass >= 2 so that dynamically-created MaterialProperties acceptors have been parsed.

ElasticityModel elasticity_model = ElasticityModel::LinearElasticity

Inferred bulk constitutive model (set during parameter parsing).

bool pressure_coupling = false

Toggle load transfer through inclusion pressure projection.

mutable ParameterAcceptorProxy<Functions::ParsedFunction<spacedim>> exact_solution

Exact solution used for error postprocessing.

mutable ParameterAcceptorProxy<Functions::ParsedFunction<spacedim>> initial_displacement

Initial displacement for time-dependent runs.

mutable ParameterAcceptorProxy<Functions::ParsedFunction<spacedim>> initial_velocity

Initial velocity for time-dependent runs.

std::string weight_expression = "1."

Expression used to define quadrature weights on inclusions.

bool output_results_before_solving = false

Emit output before each solve step.

mutable ParsedConvergenceTable convergence_table

Convergence table used for run summaries.