Template Class ElastodynamicsParameters

Inheritance Relationships

Base Type

  • public dealii::ParameterAcceptor

Class Documentation

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

Parameters for a standalone first-order linear elastodynamics problem.

The public name deliberately uses Elastodynamics: the repository already contains an ElasticityProblem for immersed coupling, and this class is a separate uncoupled volumetric problem. The state is \([d,v]\), with displacement \(d\) and velocity \(v\).

Public Functions

explicit ElastodynamicsParameters(const std::string &subsection = "/Elastodynamics/", TimeIntervalParameters *shared_time_parameters = nullptr, FixedStepParameters *shared_fixed_step_parameters = nullptr, IDAParameters *shared_ida_parameters = nullptr)

Construct the parameters below a configurable subsection.

ElastodynamicsMaterialCoefficients get_material_properties(dealii::types::material_id material_id) const

Return the mapped material, falling back to the default for unmapped ids.

Public Members

std::string output_directory = "."
std::string output_name = "elastodynamics"
unsigned int fe_degree = 1
DomainParameters<dim, spacedim> domain_parameters
unsigned int n_refinement_cycles = 1
std::set<dealii::types::boundary_id> dirichlet_ids = {0}
std::set<dealii::types::boundary_id> neumann_ids
std::set<dealii::types::boundary_id> robin_ids
ElastodynamicsMaterialParameters default_material
std::map<dealii::types::material_id, std::string> material_tags_by_material_id
std::map<std::string, std::unique_ptr<ElastodynamicsMaterialParameters>> material_parameters_by_tag
TimeIntervalParameters &time_parameters

Solver-independent interval used by this Problem.

FixedStepParameters &fixed_step_parameters

Fixed-step policy used by the standalone driver.

IDAParameters &ida_parameters

IDA policy used by the adapter application.

mutable dealii::ParameterAcceptorProxy<dealii::Functions::ParsedFunction<spacedim>> body_force

Body force and boundary data.

neumann_boundary is a vector traction integrated against the test functions on neumann_ids. The supplied body force therefore follows the residual convention M u_tt + K u + D u_t - f = 0, with the boundary traction included in f.

mutable dealii::ParameterAcceptorProxy<dealii::Functions::ParsedFunction<spacedim>> displacement_boundary
mutable dealii::ParameterAcceptorProxy<dealii::Functions::ParsedFunction<spacedim>> neumann_boundary
mutable dealii::ParameterAcceptorProxy<dealii::Functions::ParsedFunction<spacedim>> robin_coefficient
mutable dealii::ParameterAcceptorProxy<dealii::Functions::ParsedFunction<spacedim>> robin_rhs
mutable dealii::ParameterAcceptorProxy<dealii::Functions::ParsedFunction<spacedim>> velocity_boundary

Optional explicit velocity data for the semidiscrete adapter.

The standalone time integrator derives the velocity constraint from displacement boundary values and the selected time-stepping rule, so a velocity boundary subsection is not required there.

mutable dealii::ParameterAcceptorProxy<dealii::Functions::ParsedFunction<spacedim>> initial_displacement
mutable dealii::ParameterAcceptorProxy<dealii::Functions::ParsedFunction<spacedim>> initial_velocity
mutable dealii::ParameterAcceptorProxy<dealii::Functions::ParsedFunction<spacedim>> exact_solution

Optional manufactured displacement used for convergence tables.

mutable dealii::ParameterAcceptorProxy<dealii::ReductionControl> solver_control
mutable dealii::ParsedConvergenceTable convergence_table

Convergence table for the displacement at the final time.