19 #ifndef ELASTICITY_HH_ 20 #define ELASTICITY_HH_ 106 static constexpr
const char *
name() {
return "Mechanics_LinearElasticity"; }
116 if (ls!=
nullptr)
delete ls;
120 void create_dh(
Mesh *
mesh,
unsigned int fe_order);
123 std::shared_ptr<DOFHandlerMultiDim>
dh_;
194 {
return eq_data_->ls->get_solution(); }
274 double lame_mu(
double young,
double poisson);
Abstract base class for equation clasess.
static constexpr const char * name()
Container for various descendants of FieldCommonBase.
Field< 3, FieldValue< 3 >::Scalar > young_modulus
Field< 3, FieldValue< 3 >::Scalar > lame_mu
std::shared_ptr< FieldFE< 3, FieldValue< 3 >::VectorFixed > > output_field_ptr
Field< 3, FieldValue< 3 >::Scalar > cross_section
Pointer to DarcyFlow field cross_section.
LinSys * ls
Linear algebra system for the transport equation.
std::shared_ptr< EqFields > eq_fields_
Fields for model parameters.
const Vec & get_solution()
Wrappers for linear systems based on MPIAIJ and MATIS format.
Class template representing a field with values dependent on: point, element, and region...
const Mesh * mesh() const
Returns pointer to mesh.
static const Input::Type::Record & get_input_type()
Declare input record type for the equation TransportDG.
Field< 3, FieldValue< 3 >::Scalar > dirichlet_penalty
BCField< 3, FieldValue< 3 >::VectorFixed > bc_traction
std::shared_ptr< EqData > eq_data_
Data for model parameters.
Field< 3, FieldValue< 3 >::Scalar > lame_lambda
Field< 3, FieldValue< 3 >::Scalar > region_id
void update_solution() override
Computes the solution in one time instant.
Field< 3, FieldValue< 3 >::VectorFixed > load
std::shared_ptr< DOFHandlerMultiDim > dh_scalar_
Basic time management functionality for unsteady (and steady) solvers (class Equation).
Input::Record input_rec
Record with input specification.
Vec rhs
Vector of right hand side.
GenericAssembly< OutpuFieldsAssemblyElasticity > * output_fields_assembly_
Field< 3, FieldValue< 3 >::VectorFixed > output_field
bool allocation_done
Indicates whether matrices have been preallocated.
GenericAssembly< RhsAssemblyElasticity > * rhs_assembly_
static const Input::Type::Selection & get_bc_type_selection()
std::shared_ptr< FieldFE< 3, FieldValue< 3 >::Scalar > > output_cross_section_ptr
Field< 3, FieldValue< 3 >::Scalar > poisson_ratio
std::shared_ptr< DOFHandlerMultiDim > dh_tensor_
void solve_linear_system()
Solve without updating time step and without output.
EquationOutput output_fields
Field< 3, FieldValue< 3 >::Scalar > potential_load
Potential of an additional (external) load.
void update_output_fields()
GenericAssembly< StiffnessAssemblyElasticity > * stiffness_assembly_
general assembly objects, hold assembly objects of appropriate dimension
Provides the numbering of the finite element degrees of freedom on the computational mesh...
std::shared_ptr< FieldFE< 3, FieldValue< 3 >::TensorFixed > > output_stress_ptr
void zero_time_step() override
Initialize solution in the zero time.
The class for outputting data during time.
void output_data()
Postprocesses the solution and writes to output file.
Mat stiffness_matrix
The stiffness matrix.
Field< 3, FieldValue< 3 >::Scalar > output_divergence
unsigned int IntDim
A dimension index type.
Elasticity FactoryBaseType
BCField< 3, FieldValue< 3 >::Enum > bc_type
std::shared_ptr< DOFHandlerMultiDim > dh_
Objects for distribution of dofs.
Field< 3, FieldValue< 3 >::Scalar > output_cross_section
static const int registrar
Registrar of class to factory.
Field< 3, FieldValue< 3 >::Scalar > subdomain
void next_time()
Pass to next time and update equation data.
Generic class of assemblation.
void initialize() override
std::shared_ptr< Balance > balance_
Shared Balance object.
Definitions of particular quadrature rules on simplices.
static string default_output_field()
void set_potential_load(const Field< 3, FieldValue< 3 >::Scalar > &potential)
std::shared_ptr< FieldFE< 3, FieldValue< 3 >::Scalar > > output_div_ptr
Field< 3, FieldValue< 3 >::TensorFixed > output_stress
Abstract class for the description of a general finite element on a reference simplex in dim dimensio...
BCField< 3, FieldValue< 3 >::VectorFixed > bc_displacement
void calculate_cumulative_balance()
bool evaluate_time_constraint(double &)
Elasticity(Mesh &init_mesh, const Input::Record in_rec, TimeGovernor *tm=nullptr)
Constructor.
Field< 3, FieldValue< 3 >::Scalar > output_von_mises_stress
Field< 3, FieldValue< 3 >::Scalar > fracture_sigma
Transition parameter for diffusive transfer on fractures.
std::shared_ptr< OutputTime > output_stream_
std::shared_ptr< FieldFE< 3, FieldValue< 3 >::Scalar > > output_von_mises_stress_ptr