Flow123d  release_3.0.0-1070-g00ac913
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
 

Public Types

typedef Elasticity FactoryBaseType
 

Public Member Functions

 Elasticity (Mesh &init_mesh, const Input::Record in_rec)
 Constructor. More...
 
void zero_time_step () override
 Initialize solution in the zero time. More...
 
bool evaluate_time_constraint (double &time_constraint)
 
void update_solution () override
 Computes the solution in one time instant. More...
 
void output_data ()
 Postprocesses the solution and writes to output file. More...
 
 ~Elasticity ()
 Destructor. More...
 
void initialize () override
 
void calculate_cumulative_balance ()
 
const Vec & get_solution ()
 
EqDatadata ()
 
- 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 ()
 
double solved_time ()
 
Meshmesh ()
 
TimeMark::Type mark_type ()
 
FieldSetdata ()
 
virtual void get_solution_vector (double *&vector, unsigned int &size)
 
virtual void get_parallel_solution_vector (Vec &vector)
 

Static Public Member Functions

static const Input::Type::Recordget_input_type ()
 Declare input record type for the equation TransportDG. More...
 

Private Member Functions

void output_vector_gather ()
 
void preallocate ()
 
void assemble_stiffness_matrix ()
 Assembles the stiffness matrix. More...
 
template<unsigned int dim>
void assemble_volume_integrals ()
 Assembles the volume integrals into the stiffness matrix. More...
 
void set_sources ()
 Assembles the right hand side due to volume sources. More...
 
template<unsigned int dim>
void set_sources ()
 Assembles the right hand side vector due to volume sources. More...
 
template<unsigned int dim>
void assemble_fluxes_boundary ()
 Assembles the fluxes on the boundary. More...
 
template<unsigned int dim>
void assemble_fluxes_element_side ()
 Assembles the fluxes between elements of different dimensions. More...
 
void set_boundary_conditions ()
 Assembles the r.h.s. components corresponding to the Dirichlet boundary conditions. More...
 
template<unsigned int dim>
void set_boundary_conditions ()
 Assembles the r.h.s. components corresponding to the Dirichlet boundary conditions for a given space dimension. More...
 

Private Attributes

Physical parameters
EqData data_
 Field data for model parameters. More...
 
Parameters of the numerical method
Mechanics::FEObjectsfeo
 Finite element objects. More...
 
Solution of algebraic system
Vec rhs
 Vector of right hand side. More...
 
Mat stiffness_matrix
 The stiffness matrix. More...
 
LinSysls
 Linear algebra system for the transport equation. More...
 
Output to file
VectorMPI output_vec
 Vector of solution data. More...
 
std::shared_ptr< OutputTimeoutput_stream_
 
Input::Record input_rec
 Record with input specification. More...
 
Other
bool allocation_done
 Indicates whether matrices have been preallocated. More...
 
bool flux_changed
 Indicator of change in advection vector field. More...
 

Static Private Attributes

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

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_
 
FieldSeteq_data_
 
std::shared_ptr< Balancebalance_
 object for calculation and writing the mass balance to file. More...
 

Detailed Description

Definition at line 101 of file elasticity.hh.

Member Typedef Documentation

Definition at line 190 of file elasticity.hh.

Constructor & Destructor Documentation

Elasticity::Elasticity ( Mesh init_mesh,
const Input::Record  in_rec 
)

Constructor.

Parameters
init_meshcomputational mesh
in_recinput record

Definition at line 241 of file elasticity.cc.

Elasticity::~Elasticity ( )

Destructor.

Definition at line 308 of file elasticity.cc.

Member Function Documentation

template<unsigned int dim>
void Elasticity::assemble_fluxes_boundary ( )
private

Assembles the fluxes on the boundary.

Definition at line 636 of file elasticity.cc.

template<unsigned int dim>
void Elasticity::assemble_fluxes_element_side ( )
private

Assembles the fluxes between elements of different dimensions.

Definition at line 677 of file elasticity.cc.

void Elasticity::assemble_stiffness_matrix ( )
private

Assembles the stiffness matrix.

This routine just calls assemble_volume_integrals(), assemble_fluxes_boundary(), assemble_fluxes_element_element() and assemble_fluxes_element_side() for each space dimension.

Definition at line 482 of file elasticity.cc.

Here is the caller graph for this function:

template<unsigned int dim>
void Elasticity::assemble_volume_integrals ( )
private

Assembles the volume integrals into the stiffness matrix.

Definition at line 519 of file elasticity.cc.

void Elasticity::calculate_cumulative_balance ( )

Definition at line 467 of file elasticity.cc.

Here is the caller graph for this function:

EqData& Elasticity::data ( )
inline

Definition at line 187 of file elasticity.hh.

Here is the caller graph for this function:

bool Elasticity::evaluate_time_constraint ( double &  time_constraint)
inline

Definition at line 162 of file elasticity.hh.

const Record & Elasticity::get_input_type ( )
static

Declare input record type for the equation TransportDG.

Definition at line 44 of file elasticity.cc.

Here is the caller graph for this function:

const Vec& Elasticity::get_solution ( )
inline

Definition at line 184 of file elasticity.hh.

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

void Elasticity::output_data ( void  )
virtual

Postprocesses the solution and writes to output file.

Reimplemented from EquationBase.

Definition at line 446 of file elasticity.cc.

Here is the caller graph for this function:

void Elasticity::output_vector_gather ( )
private

Definition at line 321 of file elasticity.cc.

Here is the caller graph for this function:

void Elasticity::preallocate ( )
private

Definition at line 369 of file elasticity.cc.

Here is the caller graph for this function:

void Elasticity::set_boundary_conditions ( )
private

Assembles the r.h.s. components corresponding to the Dirichlet boundary conditions.

The routine just calls templated method set_boundary_condition() for each space dimension.

Definition at line 798 of file elasticity.cc.

Here is the caller graph for this function:

template<unsigned int dim>
void Elasticity::set_boundary_conditions ( )
private

Assembles the r.h.s. components corresponding to the Dirichlet boundary conditions for a given space dimension.

Definition at line 812 of file elasticity.cc.

void Elasticity::set_sources ( )
private

Assembles the right hand side due to volume sources.

This method just calls set_sources() for each space dimension.

Definition at line 567 of file elasticity.cc.

Here is the caller graph for this function:

template<unsigned int dim>
void Elasticity::set_sources ( )
private

Assembles the right hand side vector due to volume sources.

Definition at line 580 of file elasticity.cc.

void Elasticity::update_solution ( void  )
overridevirtual

Computes the solution in one time instant.

Reimplemented from EquationBase.

Definition at line 386 of file elasticity.cc.

void Elasticity::zero_time_step ( )
overridevirtual

Initialize solution in the zero time.

Reimplemented from EquationBase.

Definition at line 334 of file elasticity.cc.

Member Data Documentation

bool Elasticity::allocation_done
private

Indicates whether matrices have been preallocated.

Definition at line 316 of file elasticity.hh.

EqData Elasticity::data_
private

Field data for model parameters.

Definition at line 265 of file elasticity.hh.

Mechanics::FEObjects* Elasticity::feo
private

Finite element objects.

Definition at line 274 of file elasticity.hh.

bool Elasticity::flux_changed
private

Indicator of change in advection vector field.

Definition at line 319 of file elasticity.hh.

Input::Record Elasticity::input_rec
private

Record with input specification.

Definition at line 304 of file elasticity.hh.

LinSys* Elasticity::ls
private

Linear algebra system for the transport equation.

Definition at line 290 of file elasticity.hh.

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

Definition at line 301 of file elasticity.hh.

VectorMPI Elasticity::output_vec
private

Vector of solution data.

Definition at line 299 of file elasticity.hh.

const int Elasticity::registrar
staticprivate
Initial value:
=
Input::register_class< Elasticity, Mesh &, const Input::Record>(std::string(Elasticity::EqData::name()) + "_FE") +

Registrar of class to factory.

Definition at line 197 of file elasticity.hh.

Vec Elasticity::rhs
private

Vector of right hand side.

Definition at line 284 of file elasticity.hh.

Mat Elasticity::stiffness_matrix
private

The stiffness matrix.

Definition at line 287 of file elasticity.hh.


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