Template Class ElasticityFreqProblemParameters

Inheritance Relationships

Base Type

  • public dealii::ParameterAcceptor

Class Documentation

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

Parameters for the direct frequency-domain elasticity solver.

Unnamed Group

mutable ModulatedParsedFunction<spacedim> rhs
std::map<types::material_id, std::shared_ptr<ModulatedParsedFunction<spacedim>>> rhs_by_material_id

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 = domain_parameters.initial_refinement

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

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 = domain_parameters.triangulation_type

Parallel tria backend.

std::string &name_of_grid = domain_parameters.name_of_grid

Grid generator/input name.

std::string &arguments_for_grid = domain_parameters.arguments_for_grid

Grid generator arguments.

double &grid_scale = domain_parameters.grid_scale

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.

double penalty_term = 1.0e4

Weak-Dirichlet penalty.

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
mutable ParameterAcceptorProxy<Functions::ParsedFunction<spacedim>> robin_coefficient
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

Public Functions

explicit ElasticityFreqProblemParameters(const std::string &subsection = "/Immersed Problem/", std::vector<double> *shared_frequencies = nullptr)

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

A shared frequency vector is registered by its owner and must outlive this parameter object.

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 validate_parameters()

Validate boundary and material data after parameter parsing.

Public Members

DomainParameters<dim, spacedim> domain_parameters

Domain settings use the same grid subsection as the legacy solver.

std::vector<double> &frequencies
double dirichlet_phase = 0.0
double neumann_phase = 0.0
double rhs_phase = 0.0
std::map<types::boundary_id, double> dirichlet_phase_by_id
std::map<types::boundary_id, double> neumann_phase_by_id
std::map<types::material_id, double> rhs_phase_by_id
double robin_phase = 0.
std::map<types::boundary_id, double> robin_phase_by_id
unsigned int gmres_basis_size = 200
mutable ParameterAcceptorProxy<ReductionControl> displacement_solver_control

Solver control for the frequency-domain FGMRES solve.