Flow123d  DF_patch_fe_mechanics-a6ba684
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Attributes | List of all members
Elasticity Class Reference

#include <elasticity.hh>

Inheritance diagram for Elasticity:
Inheritance graph
[legend]
Collaboration diagram for Elasticity:
Collaboration graph
[legend]

Classes

class  EqData
 Data of equation parameters. More...
 
class  EqFields
 
class  OutputEqData
 Data of output parameters. More...
 

Public Types

typedef Elasticity FactoryBaseType
 

Public Member Functions

 Elasticity (Mesh &init_mesh, const Input::Record in_rec, TimeGovernor *tm=nullptr)
 Constructor. More...
 
void zero_time_step () override
 Initialize solution in the zero time. More...
 
void update_solution () override
 Computes the solution in one time instant. More...
 
void next_time ()
 Pass to next time and update equation data. More...
 
void solve_linear_system ()
 Solve without updating time step and without output. More...
 
void output_data ()
 Postprocesses the solution and writes to output file. More...
 
 ~Elasticity ()
 Destructor. More...
 
void initialize () override
 
void update_output_fields ()
 
void set_potential_load (const Field< 3, FieldValue< 3 >::Scalar > &potential, const Field< 3, FieldValue< 3 >::Scalar > &ref_potential)
 
void calculate_cumulative_balance ()
 
const Vec & get_solution ()
 
EqFieldseq_fields ()
 
EqDataeq_data ()
 
- Public Member Functions inherited from EquationBase
 EquationBase ()
 
 EquationBase (Mesh &mesh, const Input::Record in_rec)
 
virtual ~EquationBase ()
 
virtual void choose_next_time ()
 
virtual void set_time_upper_constraint (double dt, std::string message)
 
virtual void set_time_lower_constraint (double dt, std::string message)
 
TimeGovernortime ()
 
virtual void set_time_governor (TimeGovernor &time)
 
double planned_time ()
 
virtual double solved_time ()
 
Meshmesh ()
 
std::shared_ptr< Balancebalance () const
 
TimeMark::Type mark_type ()
 
FieldSeteq_fieldset ()
 
std::shared_ptr< FieldSeteq_fieldset_ptr ()
 
void init_user_fields (Input::Array user_fields, FieldSet &output_fields)
 

Static Public Member Functions

static const Input::Type::Recordget_input_type ()
 Declare input record type for the equation TransportDG. More...
 
- Static Public Member Functions inherited from EquationBase
static Input::Type::Recordrecord_template ()
 Template Record with common keys for derived equations. More...
 
static Input::Type::Recorduser_fields_template (std::string equation_name)
 Template Record with common key user_fields for derived equations. More...
 

Private Member Functions

void preallocate ()
 
void assemble_constraint_matrix ()
 

Private Attributes

Physical parameters
std::shared_ptr< EqFieldseq_fields_
 Fields for model parameters. More...
 
std::shared_ptr< EqDataeq_data_
 Data for model parameters. More...
 
std::shared_ptr< OutputEqDataoutput_eq_data_
 Data for output parameters. More...
 
bool has_contact_
 Indicator of contact conditions on fractures. More...
 

Static Private Attributes

static const int registrar
 Registrar of class to factory. More...
 

Output to file

static constexpr const char * name_ = "Mechanics_LinearElasticity"
 
std::shared_ptr< OutputTimeoutput_stream_
 
Input::Record input_rec
 Record with input specification. More...
 
GenericAssembly< StiffnessAssemblyElasticity > * stiffness_assembly_
 general assembly objects, hold assembly objects of appropriate dimension More...
 
GenericAssembly< RhsAssemblyElasticity > * rhs_assembly_
 
GenericAssembly< ConstraintAssemblyElasticity > * constraint_assembly_
 
GenericAssembly< OutpuFieldsAssemblyElasticity > * output_fields_assembly_
 

Additional Inherited Members

- Protected Attributes inherited from EquationBase
bool equation_empty_
 flag is true if only default constructor was called More...
 
Meshmesh_
 
TimeGovernortime_
 
Input::Record input_record_
 
std::shared_ptr< FieldSeteq_fieldset_
 
std::shared_ptr< Balancebalance_
 object for calculation and writing the mass balance to file. More...
 

Detailed Description

Definition at line 48 of file elasticity.hh.

Member Typedef Documentation

◆ FactoryBaseType

Definition at line 241 of file elasticity.hh.

Constructor & Destructor Documentation

◆ Elasticity()

Elasticity::Elasticity ( Mesh init_mesh,
const Input::Record  in_rec,
TimeGovernor tm = nullptr 
)

Constructor.

Parameters
init_meshcomputational mesh
in_recinput record
tmtime governor (if nullptr then it is created from input record)

Definition at line 311 of file elasticity.cc.

◆ ~Elasticity()

Elasticity::~Elasticity ( )

Destructor.

Definition at line 462 of file elasticity.cc.

Member Function Documentation

◆ assemble_constraint_matrix()

void Elasticity::assemble_constraint_matrix ( )
private

Definition at line 647 of file elasticity.cc.

Here is the caller graph for this function:

◆ calculate_cumulative_balance()

void Elasticity::calculate_cumulative_balance ( )

Definition at line 638 of file elasticity.cc.

Here is the caller graph for this function:

◆ eq_data()

EqData& Elasticity::eq_data ( )
inline

Definition at line 237 of file elasticity.hh.

◆ eq_fields()

EqFields& Elasticity::eq_fields ( )
inline

Definition at line 235 of file elasticity.hh.

◆ get_input_type()

const Record & Elasticity::get_input_type ( )
static

Declare input record type for the equation TransportDG.

Definition at line 48 of file elasticity.cc.

Here is the caller graph for this function:

◆ get_solution()

const Vec& Elasticity::get_solution ( )
inline

Definition at line 232 of file elasticity.hh.

◆ initialize()

void Elasticity::initialize ( )
overridevirtual

This method should initialize fields of the equation. All members (e.g. number of components) that are necessary for the field initialization must be set between construction and call of initialize. After this method the upper level coupling may set sharing of some fields between equations.

Reimplemented from EquationBase.

Definition at line 355 of file elasticity.cc.

◆ next_time()

void Elasticity::next_time ( )

Pass to next time and update equation data.

Definition at line 568 of file elasticity.cc.

Here is the caller graph for this function:

◆ output_data()

void Elasticity::output_data ( void  )
virtual

Postprocesses the solution and writes to output file.

Reimplemented from EquationBase.

Definition at line 617 of file elasticity.cc.

Here is the caller graph for this function:

◆ preallocate()

void Elasticity::preallocate ( )
private

Definition at line 540 of file elasticity.cc.

Here is the caller graph for this function:

◆ set_potential_load()

void Elasticity::set_potential_load ( const Field< 3, FieldValue< 3 >::Scalar > &  potential,
const Field< 3, FieldValue< 3 >::Scalar > &  ref_potential 
)
inline

Definition at line 223 of file elasticity.hh.

◆ solve_linear_system()

void Elasticity::solve_linear_system ( )

Solve without updating time step and without output.

Definition at line 577 of file elasticity.cc.

Here is the caller graph for this function:

◆ update_output_fields()

void Elasticity::update_output_fields ( )

Definition at line 477 of file elasticity.cc.

Here is the caller graph for this function:

◆ update_solution()

void Elasticity::update_solution ( void  )
overridevirtual

Computes the solution in one time instant.

Reimplemented from EquationBase.

Definition at line 554 of file elasticity.cc.

◆ zero_time_step()

void Elasticity::zero_time_step ( )
overridevirtual

Initialize solution in the zero time.

Reimplemented from EquationBase.

Definition at line 507 of file elasticity.cc.

Member Data Documentation

◆ constraint_assembly_

GenericAssembly< ConstraintAssemblyElasticity >* Elasticity::constraint_assembly_
private

Definition at line 294 of file elasticity.hh.

◆ eq_data_

std::shared_ptr<EqData> Elasticity::eq_data_
private

Data for model parameters.

Definition at line 263 of file elasticity.hh.

◆ eq_fields_

std::shared_ptr<EqFields> Elasticity::eq_fields_
private

Fields for model parameters.

Definition at line 260 of file elasticity.hh.

◆ has_contact_

bool Elasticity::has_contact_
private

Indicator of contact conditions on fractures.

Definition at line 269 of file elasticity.hh.

◆ input_rec

Input::Record Elasticity::input_rec
private

Record with input specification.

Definition at line 282 of file elasticity.hh.

◆ name_

constexpr const char* Elasticity::name_ = "Mechanics_LinearElasticity"
staticconstexprprivate

Definition at line 288 of file elasticity.hh.

◆ output_eq_data_

std::shared_ptr<OutputEqData> Elasticity::output_eq_data_
private

Data for output parameters.

Definition at line 266 of file elasticity.hh.

◆ output_fields_assembly_

GenericAssembly< OutpuFieldsAssemblyElasticity >* Elasticity::output_fields_assembly_
private

Definition at line 295 of file elasticity.hh.

◆ output_stream_

std::shared_ptr<OutputTime> Elasticity::output_stream_
private

Definition at line 279 of file elasticity.hh.

◆ registrar

const int Elasticity::registrar
staticprivate
Initial value:
=
Input::register_class< Elasticity, Mesh &, const Input::Record>(std::string(name_) + "_FE") +
static constexpr const char * name_
Definition: elasticity.hh:288
static const Input::Type::Record & get_input_type()
Declare input record type for the equation TransportDG.
Definition: elasticity.cc:48
unsigned int size() const
Returns number of keys in the Record.
Definition: type_record.hh:602

Registrar of class to factory.

Definition at line 248 of file elasticity.hh.

◆ rhs_assembly_

GenericAssembly< RhsAssemblyElasticity >* Elasticity::rhs_assembly_
private

Definition at line 293 of file elasticity.hh.

◆ stiffness_assembly_

GenericAssembly< StiffnessAssemblyElasticity >* Elasticity::stiffness_assembly_
private

general assembly objects, hold assembly objects of appropriate dimension

Definition at line 292 of file elasticity.hh.


The documentation for this class was generated from the following files: