19 #ifndef ELASTICITY_HH_ 20 #define ELASTICITY_HH_ 36 template<
unsigned int dim,
unsigned int spacedim>
class FEValuesBase;
38 template<
unsigned int dim,
unsigned int spacedim>
class Mapping;
56 template<
unsigned int dim>
59 template<
unsigned int dim>
62 template<
unsigned int dim>
65 inline std::shared_ptr<DOFHandlerMultiDim>
dh();
85 std::shared_ptr<DiscreteSpace>
ds_;
88 std::shared_ptr<DOFHandlerMultiDim>
dh_;
112 static constexpr
const char *
name() {
return "Mechanics_LinearElasticity"; }
157 void zero_time_step()
override;
165 void update_solution()
override;
177 void initialize()
override;
179 void calculate_cumulative_balance();
182 {
return ls->get_solution(); }
196 void output_vector_gather();
207 void assemble_stiffness_matrix();
212 template<
unsigned int dim>
213 void assemble_volume_integrals();
225 template<
unsigned int dim>
231 template<
unsigned int dim>
232 void assemble_fluxes_boundary();
237 template<
unsigned int dim>
238 void assemble_fluxes_element_side();
246 void set_boundary_conditions();
252 template<
unsigned int dim>
253 void set_boundary_conditions();
BCField< 3, FieldValue< 3 >::Enum > bc_type
std::shared_ptr< DiscreteSpace > ds_
BCField< 3, FieldValue< 3 >::VectorFixed > bc_displacement
Class MappingP1 implements the affine transformation of the unit cell onto the actual cell...
Field< 3, FieldValue< 3 >::Scalar > young_modulus
Quadrature * q_[4]
Quadratures used in assembling methods.
Abstract base class for equation clasess.
static constexpr const char * name()
Container for various descendants of FieldCommonBase.
FiniteElement< 3 > * fe3_
Field< 3, FieldValue< 3 >::Scalar > region_id
const Vec & get_solution()
FEObjects(Mesh *mesh_, unsigned int fe_order)
Wrappers for linear systems based on MPIAIJ and MATIS format.
Class template representing a field with values dependent on: point, element, and region...
VectorMPI output_vec
Vector of solution data.
FiniteElement< dim > * fe()
LinSys * ls
Linear algebra system for the transport equation.
Field< 3, FieldValue< 3 >::Scalar > cross_section
Pointer to DarcyFlow field cross_section.
MappingP1< 2, 3 > * map2_
bool flux_changed
Indicator of change in advection vector field.
Input::Record input_rec
Record with input specification.
Vec rhs
Vector of right hand side.
Base class for quadrature rules on simplices in arbitrary dimensions.
bool allocation_done
Indicates whether matrices have been preallocated.
MappingP1< 3, 3 > * map3_
MappingP1< 1, 3 > * map1_
Auxiliary mappings of reference elements.
BCField< 3, FieldValue< 3 >::VectorFixed > bc_traction
Abstract class for the mapping between reference and actual cell.
FiniteElement< 0 > * fe0_
Finite elements for the solution of the advection-diffusion equation.
std::shared_ptr< DOFHandlerMultiDim > dh()
Provides the numbering of the finite element degrees of freedom on the computational mesh...
FiniteElement< 1 > * fe1_
The class for outputting data during time.
Mat stiffness_matrix
The stiffness matrix.
Field< 3, FieldValue< 3 >::VectorFixed > load
Field< 3, FieldValue< 3 >::Scalar > fracture_sigma
Transition parameter for diffusive transfer on fractures.
Elasticity FactoryBaseType
Field< 3, FieldValue< 3 >::Scalar > poisson_ratio
EquationOutput output_fields
static const int registrar
Registrar of class to factory.
EqData data_
Field data for model parameters.
static string default_output_field()
std::shared_ptr< DOFHandlerMultiDim > dh_
Object for distribution of dofs.
Abstract class for the description of a general finite element on a reference simplex in dim dimensio...
Base class for FEValues and FESideValues.
MappingP1< dim, 3 > * mapping()
FiniteElement< 2 > * fe2_
bool evaluate_time_constraint(double &time_constraint)
Field< 3, FieldValue< 3 >::VectorFixed > output_field
Field< 3, FieldValue< 3 >::Scalar > subdomain
std::shared_ptr< OutputTime > output_stream_
Mechanics::FEObjects * feo
Finite element objects.