Flow123d
JS_before_hm-62-ge56f9d5
|
#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 | output_vector_gather () |
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 () |
TimeMark::Type | mark_type () |
FieldSet & | data () |
virtual void | get_solution_vector (FMT_UNUSED double *&vector, FMT_UNUSED unsigned int &size) |
virtual void | get_parallel_solution_vector (FMT_UNUSED Vec &vector) |
Static Public Member Functions | |
static const Input::Type::Record & | get_input_type () |
Declare input record type for the equation TransportDG. More... | |
Private Member Functions | |
void | update_output_fields () |
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 103 of file elasticity.hh.
Definition at line 216 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 287 of file elasticity.cc.
Elasticity::~Elasticity | ( | ) |
Destructor.
Definition at line 389 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 1084 of file elasticity.cc.
|
private |
Assembles the fluxes on the boundary.
Definition at line 844 of file elasticity.cc.
|
private |
Assembles the fluxes between elements of different dimensions depending on displacement.
Definition at line 901 of file elasticity.cc.
|
private |
Assembles the right hand side (forces, boundary conditions, tractions).
Definition at line 758 of file elasticity.cc.
|
private |
Assemble fluxes between different dimensions that are independent of displacement.
Definition at line 1005 of file elasticity.cc.
|
private |
Assembles the right hand side vector due to volume sources.
Definition at line 779 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 684 of file elasticity.cc.
|
private |
Assembles the volume integrals into the stiffness matrix.
Definition at line 710 of file elasticity.cc.
void Elasticity::calculate_cumulative_balance | ( | ) |
|
private |
Definition at line 571 of file elasticity.cc.
|
inline |
Definition at line 213 of file elasticity.hh.
|
private |
Penalty to enforce boundary value in weak sense.
Definition at line 834 of file elasticity.cc.
|
inline |
Definition at line 177 of file elasticity.hh.
|
static |
Declare input record type for the equation TransportDG.
Definition at line 44 of file elasticity.cc.
|
inline |
Definition at line 210 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 326 of file elasticity.cc.
void Elasticity::next_time | ( | ) |
Pass to next time and update equation data.
Definition at line 494 of file elasticity.cc.
|
virtual |
Postprocesses the solution and writes to output file.
Reimplemented from EquationBase.
Definition at line 549 of file elasticity.cc.
void Elasticity::output_vector_gather | ( | ) |
|
private |
|
inline |
Definition at line 205 of file elasticity.hh.
void Elasticity::solve_linear_system | ( | ) |
Solve without updating time step and without output.
Definition at line 503 of file elasticity.cc.
|
private |
|
overridevirtual |
Computes the solution in one time instant.
Reimplemented from EquationBase.
Definition at line 480 of file elasticity.cc.
|
overridevirtual |
Initialize solution in the zero time.
Reimplemented from EquationBase.
Definition at line 430 of file elasticity.cc.
|
private |
Indicates whether matrices have been preallocated.
Definition at line 340 of file elasticity.hh.
|
private |
Field data for model parameters.
Definition at line 292 of file elasticity.hh.
|
private |
Finite element objects.
Definition at line 301 of file elasticity.hh.
|
private |
Record with input specification.
Definition at line 328 of file elasticity.hh.
|
private |
Linear algebra system for the transport equation.
Definition at line 317 of file elasticity.hh.
|
private |
Definition at line 325 of file elasticity.hh.
|
staticprivate |
Registrar of class to factory.
Definition at line 223 of file elasticity.hh.
|
private |
Vector of right hand side.
Definition at line 311 of file elasticity.hh.
|
private |
The stiffness matrix.
Definition at line 314 of file elasticity.hh.