19 #ifndef ELASTICITY_HH_
20 #define ELASTICITY_HH_
121 if (
ls!=
nullptr)
delete ls;
135 std::shared_ptr<DOFHandlerMultiDim>
dh_;
224 eq_fields_->ref_potential_load = ref_potential;
230 {
return eq_data_->ls->get_solution(); }
285 static constexpr
const char *
name_ =
"Mechanics_LinearElasticity";
Base point accessor class.
Provides the numbering of the finite element degrees of freedom on the computational mesh.
Data of equation parameters.
unsigned int quad_order() const
Returns quad_order.
LinSys * ls
Linear algebraic system.
void create_dh(Mesh *mesh)
Create DOF handler objects.
std::shared_ptr< DOFHandlerMultiDim > dh_
Objects for distribution of dofs.
std::map< LongIdx, LongIdx > constraint_idx
std::shared_ptr< Balance > balance_
Shared Balance object.
Field< 3, FieldValue< 3 >::Scalar > potential_load
Potential of an additional (external) load.
@ bc_type_displacement_normal
Field< 3, FieldValue< 3 >::TensorFixed > output_stress
std::shared_ptr< FieldFE< 3, FieldValue< 3 >::TensorFixed > > output_stress_ptr
std::shared_ptr< FieldFE< 3, FieldValue< 3 >::Scalar > > output_von_mises_stress_ptr
Field< 3, FieldValue< 3 >::Scalar > cross_section_min
std::shared_ptr< FieldFE< 3, FieldValue< 3 >::Scalar > > output_cross_section_ptr
Field< 3, FieldValue< 3 >::Scalar > subdomain
Field< 3, FieldValue< 3 >::Scalar > region_id
EquationOutput output_fields
std::shared_ptr< FieldFE< 3, FieldValue< 3 >::VectorFixed > > output_field_ptr
BCField< 3, FieldValue< 3 >::Enum > bc_type
Field< 3, FieldValue< 3 >::Scalar > lame_lambda
std::shared_ptr< FieldFE< 3, FieldValue< 3 >::Scalar > > output_div_ptr
Field< 3, FieldValue< 3 >::Scalar > output_mean_stress
BCField< 3, FieldValue< 3 >::VectorFixed > bc_displacement
Field< 3, FieldValue< 3 >::Scalar > poisson_ratio
Field< 3, FieldValue< 3 >::VectorFixed > output_field
Field< 3, FieldValue< 3 >::TensorFixed > initial_stress
static const Input::Type::Selection & get_bc_type_selection()
BCField< 3, FieldValue< 3 >::VectorFixed > bc_traction
Field< 3, FieldValue< 3 >::Scalar > output_von_mises_stress
Field< 3, FieldValue< 3 >::Scalar > ref_potential_load
Potential of reference external load on boundary. TODO: Switch to BCField when possible.
Field< 3, FieldValue< 3 >::VectorFixed > load
std::shared_ptr< FieldFE< 3, FieldValue< 3 >::Scalar > > output_mean_stress_ptr
arma::mat33 stress_tensor(BulkPoint &p, const arma::mat33 &strain_tensor)
Field< 3, FieldValue< 3 >::Scalar > output_divergence
Field< 3, FieldValue< 3 >::Scalar > fracture_sigma
Transition parameter for diffusive transfer on fractures.
Field< 3, FieldValue< 3 >::Scalar > young_modulus
Field< 3, FieldValue< 3 >::Scalar > dirichlet_penalty
Field< 3, FieldValue< 3 >::Scalar > cross_section
Pointer to DarcyFlow field cross_section.
Field< 3, FieldValue< 3 >::Scalar > output_cross_section
BCField< 3, FieldValue< 3 >::TensorFixed > bc_stress
Field< 3, FieldValue< 3 >::Scalar > lame_mu
Data of output parameters.
std::shared_ptr< DOFHandlerMultiDim > dh_scalar_
Objects for distribution of dofs.
std::shared_ptr< DOFHandlerMultiDim > dh_tensor_
void create_dh(Mesh *mesh)
Create DOF handler objects.
unsigned int quad_order() const
Returns quad_order.
std::shared_ptr< EqData > eq_data_
Data for model parameters.
static const int registrar
Registrar of class to factory.
GenericAssembly< RhsAssemblyElasticity > * rhs_assembly_
void update_output_fields()
void assemble_constraint_matrix()
GenericAssembly< OutpuFieldsAssemblyElasticity > * output_fields_assembly_
static constexpr const char * name_
GenericAssembly< StiffnessAssemblyElasticity > * stiffness_assembly_
general assembly objects, hold assembly objects of appropriate dimension
void solve_linear_system()
Solve without updating time step and without output.
std::shared_ptr< OutputTime > output_stream_
void initialize() override
void set_potential_load(const Field< 3, FieldValue< 3 >::Scalar > &potential, const Field< 3, FieldValue< 3 >::Scalar > &ref_potential)
Input::Record input_rec
Record with input specification.
void calculate_cumulative_balance()
void output_data()
Postprocesses the solution and writes to output file.
static const Input::Type::Record & get_input_type()
Declare input record type for the equation TransportDG.
bool has_contact_
Indicator of contact conditions on fractures.
GenericAssembly< ConstraintAssemblyElasticity > * constraint_assembly_
Elasticity(Mesh &init_mesh, const Input::Record in_rec, TimeGovernor *tm=nullptr)
Constructor.
void zero_time_step() override
Initialize solution in the zero time.
const Vec & get_solution()
Elasticity FactoryBaseType
std::shared_ptr< OutputEqData > output_eq_data_
Data for output parameters.
std::shared_ptr< EqFields > eq_fields_
Fields for model parameters.
void next_time()
Pass to next time and update equation data.
Container for various descendants of FieldCommonBase.
Class template representing a field with values dependent on: point, element, and region.
Abstract class for the description of a general finite element on a reference simplex in dim dimensio...
Generic class of assemblation.
The class for outputting data during time.
Basic time management functionality for unsteady (and steady) solvers (class Equation).
Abstract base class for equation clasess.
Wrappers for linear systems based on MPIAIJ and MATIS format.
unsigned int IntDim
A dimension index type.
Definitions of particular quadrature rules on simplices.