Template Class ElasticityProblemParameters¶
Defined in File elasticity_problem_parameters.h
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 output_every_n_steps = 100¶
Transient output period.
-
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.
-
std::set<types::boundary_id> robin_ids = {}¶
Full-vector Robin faces.
-
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::set<types::material_id> rhs_material_ids = {}¶
Material-specific rhs.
-
std::string domain_type = "generate"¶
Grid source mode.
-
std::string triangulation_type = "distributed"¶
Parallel tria backend.
-
std::string name_of_grid = "hyper_cube"¶
Grid generator/input name.
-
std::string arguments_for_grid = "-1: 1: false"¶
Grid generator arguments.
-
double grid_scale = 1.0¶
Uniform scaling applied after grid input.
-
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 ModulatedParsedFunction<spacedim> rhs¶
Volumetric forcing and forcing modulation.
-
std::map<types::material_id, std::shared_ptr<ModulatedParsedFunction<spacedim>>> rhs_by_material_id¶
Unnamed Group
-
mutable ModulatedParsedFunction<spacedim> bc¶
Dirichlet and Neumann boundary data with modulation factors.
-
std::map<types::boundary_id, std::shared_ptr<ModulatedParsedFunction<spacedim>>> dirichlet_bc_by_id¶
-
mutable ModulatedParsedFunction<spacedim> Neumann_bc¶
Neumann boundary data function.
-
std::map<types::boundary_id, std::shared_ptr<ModulatedParsedFunction<spacedim>>> neumann_bc_by_id¶
-
std::map<types::boundary_id, std::shared_ptr<ParameterAcceptorProxy<Functions::ParsedFunction<spacedim>>>> robin_coefficient_by_id¶
-
mutable ModulatedParsedFunction<spacedim> robin_bc¶
-
std::map<types::boundary_id, std::shared_ptr<ModulatedParsedFunction<spacedim>>> robin_bc_by_id¶
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.
Public Functions
-
ElasticityProblemParameters()¶
Build and register all parameter subsections used by the elasticity model.
-
const MaterialProperties &get_material_properties(const types::material_id material_id) const¶
Return material parameters associated with a material id.
-
const ModulatedParsedFunction<spacedim> &get_dirichlet_bc(const types::boundary_id boundary_id) const¶
-
const ModulatedParsedFunction<spacedim> &get_neumann_bc(const types::boundary_id boundary_id) const¶
-
const Functions::ParsedFunction<spacedim> &get_robin_coefficient(const types::boundary_id boundary_id) const¶
-
const ModulatedParsedFunction<spacedim> &get_robin_bc(const types::boundary_id boundary_id) const¶
-
const ModulatedParsedFunction<spacedim> &get_rhs(const types::material_id material_id) const¶
-
void set_rhs_times(const double time) const¶
-
void set_boundary_condition_times(const double time) const¶
-
void check_model_consistency()¶
Check model consistency and infer derived modes after parameter parsing.
This performs the requested consistency checks and sets:
time_modebased on{initial_time, final_time}andrhoacross all materials;elasticity_modelbased onnetaacross 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).
-
inline bool uses_prescribed_vessel_pressure() const¶
Select prescribed vessel pressure instead of a displacement constraint.
This does not enable or disable exchange with an external solver.
-
inline void set_prescribed_vessel_pressure(const bool prescribed)¶
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()ininclude/immersx/io/utils.h). We infer modes only after pass >= 2 so that dynamically-createdMaterialPropertiesacceptors 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.
Compatibility storage; use the accessors below.
-
bool remove_interior_stress_from_pressure = true¶
The elastic material also fills the vessels, so the multiplier is the jump between the normal stress of the tissue and that of the material inside the vessel.
If this is true, the pressure computed by VesselElasticityProblem::compute_pressure_at_immersed_surface() adds back the analytic normal stress of the interior material, so that it is the normal stress of the tissue alone. See doc/reference/coupling-names.md.
-
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.
-
CouplingType coupling_type = CouplingType::Point¶
Backend used for the immersed coupling.
Pointuses discrete inclusion centers with finite radii;TensorProductuses a VTK reduced mesh and a reference cross section.
-
bool estimate_condition_number = false¶
Run the optional coupling condition-number diagnostic.
-
bool output_results_before_solving = false¶
Emit output before each solve step.
-
mutable ParsedConvergenceTable convergence_table¶
Convergence table used for run summaries.
-
TimeParameters time_parameters¶
Canonical time-integration parameters for this Problem.
-
std::string output_directory = "."¶