Flow123d  JS_constraints-e651b99
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

template<unsigned int dim>
using StiffnessAssemblyDim = StiffnessAssemblyElasticity< dim, EqData >
 
template<unsigned int dim>
using RhsAssemblyDim = RhsAssemblyElasticity< dim, EqData >
 
template<unsigned int dim>
using ConstraintAssemblyDim = ConstraintAssemblyElasticity< dim, EqData >
 
template<unsigned int dim>
using OutpuFieldsAssemblyDim = OutpuFieldsAssemblyElasticity< dim, OutputEqData >
 
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 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 update_solution ()
 
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< StiffnessAssemblyDim > * stiffness_assembly_
 general assembly objects, hold assembly objects of appropriate dimension More...
 
GenericAssembly< RhsAssemblyDim > * rhs_assembly_
 
GenericAssembly< ConstraintAssemblyDim > * constraint_assembly_
 
GenericAssembly< OutpuFieldsAssemblyDim > * 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 47 of file elasticity.hh.

Member Typedef Documentation

◆ ConstraintAssemblyDim

template<unsigned int dim>
using Elasticity::ConstraintAssemblyDim = ConstraintAssemblyElasticity<dim, EqData>

Definition at line 189 of file elasticity.hh.

◆ FactoryBaseType

Definition at line 250 of file elasticity.hh.

◆ OutpuFieldsAssemblyDim

Definition at line 190 of file elasticity.hh.

◆ RhsAssemblyDim

template<unsigned int dim>
using Elasticity::RhsAssemblyDim = RhsAssemblyElasticity<dim, EqData>

Definition at line 188 of file elasticity.hh.

◆ StiffnessAssemblyDim

template<unsigned int dim>
using Elasticity::StiffnessAssemblyDim = StiffnessAssemblyElasticity<dim, EqData>

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

◆ ~Elasticity()

Elasticity::~Elasticity ( )

Destructor.

Definition at line 465 of file elasticity.cc.

Member Function Documentation

◆ assemble_constraint_matrix()

void Elasticity::assemble_constraint_matrix ( )
private

Definition at line 638 of file elasticity.cc.

Here is the caller graph for this function:

◆ calculate_cumulative_balance()

void Elasticity::calculate_cumulative_balance ( )

Definition at line 629 of file elasticity.cc.

◆ eq_data()

EqData& Elasticity::eq_data ( )
inline

Definition at line 246 of file elasticity.hh.

◆ eq_fields()

EqFields& Elasticity::eq_fields ( )
inline

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

Here is the caller graph for this function:

◆ get_solution()

const Vec& Elasticity::get_solution ( )
inline

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

◆ next_time()

void Elasticity::next_time ( )

Pass to next time and update equation data.

Definition at line 557 of file elasticity.cc.

◆ output_data()

void Elasticity::output_data ( void  )
virtual

Postprocesses the solution and writes to output file.

Reimplemented from EquationBase.

Definition at line 608 of file elasticity.cc.

Here is the caller graph for this function:

◆ preallocate()

void Elasticity::preallocate ( )
private

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

◆ solve_linear_system()

void Elasticity::solve_linear_system ( )

Solve without updating time step and without output.

Definition at line 566 of file elasticity.cc.

◆ update_output_fields()

void Elasticity::update_output_fields ( )

Definition at line 480 of file elasticity.cc.

Here is the caller graph for this function:

◆ zero_time_step()

void Elasticity::zero_time_step ( )
overridevirtual

Initialize solution in the zero time.

Reimplemented from EquationBase.

Definition at line 510 of file elasticity.cc.

Member Data Documentation

◆ constraint_assembly_

GenericAssembly< ConstraintAssemblyDim >* Elasticity::constraint_assembly_
private

Definition at line 303 of file elasticity.hh.

◆ eq_data_

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

Data for model parameters.

Definition at line 272 of file elasticity.hh.

◆ eq_fields_

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

Fields for model parameters.

Definition at line 269 of file elasticity.hh.

◆ has_contact_

bool Elasticity::has_contact_
private

Indicator of contact conditions on fractures.

Definition at line 278 of file elasticity.hh.

◆ input_rec

Input::Record Elasticity::input_rec
private

Record with input specification.

Definition at line 291 of file elasticity.hh.

◆ name_

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

Definition at line 297 of file elasticity.hh.

◆ output_eq_data_

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

Data for output parameters.

Definition at line 275 of file elasticity.hh.

◆ output_fields_assembly_

GenericAssembly< OutpuFieldsAssemblyDim >* Elasticity::output_fields_assembly_
private

Definition at line 304 of file elasticity.hh.

◆ output_stream_

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

Definition at line 288 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:297
static const Input::Type::Record & get_input_type()
Declare input record type for the equation TransportDG.
Definition: elasticity.cc:47
unsigned int size() const
Returns number of keys in the Record.
Definition: type_record.hh:602

Registrar of class to factory.

Definition at line 257 of file elasticity.hh.

◆ rhs_assembly_

GenericAssembly< RhsAssemblyDim >* Elasticity::rhs_assembly_
private

Definition at line 302 of file elasticity.hh.

◆ stiffness_assembly_

GenericAssembly< StiffnessAssemblyDim >* Elasticity::stiffness_assembly_
private

general assembly objects, hold assembly objects of appropriate dimension

Definition at line 301 of file elasticity.hh.


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