Flow123d  build_with_4.0.3-86a16ad
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
 
class  EqFields
 

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...
 
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 213 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 307 of file elasticity.cc.

◆ ~Elasticity()

Elasticity::~Elasticity ( )

Destructor.

Definition at line 456 of file elasticity.cc.

Member Function Documentation

◆ assemble_constraint_matrix()

void Elasticity::assemble_constraint_matrix ( )
private

Definition at line 641 of file elasticity.cc.

Here is the caller graph for this function:

◆ calculate_cumulative_balance()

void Elasticity::calculate_cumulative_balance ( )

Definition at line 632 of file elasticity.cc.

Here is the caller graph for this function:

◆ eq_data()

EqData& Elasticity::eq_data ( )
inline

Definition at line 209 of file elasticity.hh.

◆ eq_fields()

EqFields& Elasticity::eq_fields ( )
inline

Definition at line 207 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 204 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 349 of file elasticity.cc.

◆ next_time()

void Elasticity::next_time ( )

Pass to next time and update equation data.

Definition at line 562 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 611 of file elasticity.cc.

Here is the caller graph for this function:

◆ preallocate()

void Elasticity::preallocate ( )
private

Definition at line 534 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 195 of file elasticity.hh.

◆ solve_linear_system()

void Elasticity::solve_linear_system ( )

Solve without updating time step and without output.

Definition at line 571 of file elasticity.cc.

Here is the caller graph for this function:

◆ update_output_fields()

void Elasticity::update_output_fields ( )

Definition at line 471 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 548 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 501 of file elasticity.cc.

Member Data Documentation

◆ constraint_assembly_

GenericAssembly< ConstraintAssemblyElasticity >* Elasticity::constraint_assembly_
private

Definition at line 263 of file elasticity.hh.

◆ eq_data_

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

Data for model parameters.

Definition at line 235 of file elasticity.hh.

◆ eq_fields_

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

Fields for model parameters.

Definition at line 232 of file elasticity.hh.

◆ has_contact_

bool Elasticity::has_contact_
private

Indicator of contact conditions on fractures.

Definition at line 238 of file elasticity.hh.

◆ input_rec

Input::Record Elasticity::input_rec
private

Record with input specification.

Definition at line 251 of file elasticity.hh.

◆ name_

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

Definition at line 257 of file elasticity.hh.

◆ output_fields_assembly_

GenericAssembly< OutpuFieldsAssemblyElasticity >* Elasticity::output_fields_assembly_
private

Definition at line 264 of file elasticity.hh.

◆ output_stream_

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

Definition at line 248 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:257
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 220 of file elasticity.hh.

◆ rhs_assembly_

GenericAssembly< RhsAssemblyElasticity >* Elasticity::rhs_assembly_
private

Definition at line 262 of file elasticity.hh.

◆ stiffness_assembly_

GenericAssembly< StiffnessAssemblyElasticity >* Elasticity::stiffness_assembly_
private

general assembly objects, hold assembly objects of appropriate dimension

Definition at line 261 of file elasticity.hh.


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