Flow123d
JS_before_hm-937-g93502c2
|
#include <elasticity.hh>
Classes | |
class | EqData |
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... | |
bool | evaluate_time_constraint (double &) |
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) |
void | calculate_cumulative_balance () |
const Vec & | get_solution () |
EqData & | 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) |
TimeGovernor & | time () |
virtual void | set_time_governor (TimeGovernor &time) |
double | planned_time () |
double | solved_time () |
Mesh & | mesh () |
std::shared_ptr< Balance > | balance () const |
TimeMark::Type | mark_type () |
FieldSet & | data () |
Static Public Member Functions | |
static const Input::Type::Record & | get_input_type () |
Declare input record type for the equation TransportDG. More... | |
Static Public Member Functions inherited from EquationBase | |
static Input::Type::Record & | record_template () |
Template Record with common keys for derived equations. More... | |
Private Member Functions | |
template<unsigned int dim> | |
void | compute_output_fields () |
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 | assemble_rhs () |
Assembles the right hand side (forces, boundary conditions, tractions). More... | |
template<unsigned int dim> | |
void | assemble_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_matrix_element_side () |
Assembles the fluxes between elements of different dimensions depending on displacement. More... | |
template<unsigned int dim> | |
void | assemble_rhs_element_side () |
Assemble fluxes between different dimensions that are independent of displacement. More... | |
template<unsigned int dim> | |
void | assemble_boundary_conditions () |
Assembles the r.h.s. components corresponding to the Dirichlet boundary conditions for a given space dimension. More... | |
double | dirichlet_penalty (SideIter side) |
Penalty to enforce boundary value in weak sense. More... | |
Private Attributes | |
Physical parameters | |
EqData | data_ |
Field data for model parameters. More... | |
Parameters of the numerical method | |
Mechanics::FEObjects * | feo |
Finite element objects. More... | |
Solution of algebraic system | |
Vec | rhs |
Vector of right hand side. More... | |
Mat | stiffness_matrix |
The stiffness matrix. More... | |
LinSys * | ls |
Linear algebra system for the transport equation. More... | |
Output to file | |
std::shared_ptr< OutputTime > | output_stream_ |
Input::Record | input_rec |
Record with input specification. More... | |
Other | |
bool | allocation_done |
Indicates whether matrices have been preallocated. 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... | |
Mesh * | mesh_ |
TimeGovernor * | time_ |
Input::Record | input_record_ |
FieldSet * | eq_data_ |
std::shared_ptr< Balance > | balance_ |
object for calculation and writing the mass balance to file. More... | |
Definition at line 87 of file elasticity.hh.
Definition at line 201 of file elasticity.hh.
Elasticity::Elasticity | ( | Mesh & | init_mesh, |
const Input::Record | in_rec, | ||
TimeGovernor * | tm = nullptr |
||
) |
Constructor.
init_mesh | computational mesh |
in_rec | input record |
tm | time governor (if nullptr then it is created from input record) |
Definition at line 258 of file elasticity.cc.
Elasticity::~Elasticity | ( | ) |
Destructor.
Definition at line 352 of file elasticity.cc.
|
private |
Assembles the r.h.s. components corresponding to the Dirichlet boundary conditions for a given space dimension.
Definition at line 1050 of file elasticity.cc.
|
private |
Assembles the fluxes on the boundary.
Definition at line 805 of file elasticity.cc.
|
private |
Assembles the fluxes between elements of different dimensions depending on displacement.
Definition at line 864 of file elasticity.cc.
|
private |
Assembles the right hand side (forces, boundary conditions, tractions).
Definition at line 719 of file elasticity.cc.
|
private |
Assemble fluxes between different dimensions that are independent of displacement.
Definition at line 971 of file elasticity.cc.
|
private |
Assembles the right hand side vector due to volume sources.
Definition at line 740 of file elasticity.cc.
|
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 645 of file elasticity.cc.
|
private |
Assembles the volume integrals into the stiffness matrix.
Definition at line 671 of file elasticity.cc.
void Elasticity::calculate_cumulative_balance | ( | ) |
|
private |
Definition at line 533 of file elasticity.cc.
|
inline |
Definition at line 198 of file elasticity.hh.
|
private |
Penalty to enforce boundary value in weak sense.
Definition at line 795 of file elasticity.cc.
|
inline |
Definition at line 161 of file elasticity.hh.
|
static |
Declare input record type for the equation TransportDG.
Definition at line 43 of file elasticity.cc.
|
inline |
Definition at line 195 of file elasticity.hh.
|
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 294 of file elasticity.cc.
void Elasticity::next_time | ( | ) |
Pass to next time and update equation data.
Definition at line 457 of file elasticity.cc.
|
virtual |
Postprocesses the solution and writes to output file.
Reimplemented from EquationBase.
Definition at line 512 of file elasticity.cc.
|
private |
|
inline |
Definition at line 190 of file elasticity.hh.
void Elasticity::solve_linear_system | ( | ) |
Solve without updating time step and without output.
Definition at line 466 of file elasticity.cc.
void Elasticity::update_output_fields | ( | ) |
|
overridevirtual |
Computes the solution in one time instant.
Reimplemented from EquationBase.
Definition at line 443 of file elasticity.cc.
|
overridevirtual |
Initialize solution in the zero time.
Reimplemented from EquationBase.
Definition at line 393 of file elasticity.cc.
|
private |
Indicates whether matrices have been preallocated.
Definition at line 323 of file elasticity.hh.
|
private |
Field data for model parameters.
Definition at line 275 of file elasticity.hh.
|
private |
Finite element objects.
Definition at line 284 of file elasticity.hh.
|
private |
Record with input specification.
Definition at line 311 of file elasticity.hh.
|
private |
Linear algebra system for the transport equation.
Definition at line 300 of file elasticity.hh.
|
private |
Definition at line 308 of file elasticity.hh.
|
staticprivate |
Registrar of class to factory.
Definition at line 208 of file elasticity.hh.
|
private |
Vector of right hand side.
Definition at line 294 of file elasticity.hh.
|
private |
The stiffness matrix.
Definition at line 297 of file elasticity.hh.