GetFEM++
5.3
|
``Model'' variables store the variables, the data and the description of a model. More...
#include <getfem_models.h>
Inherits getfem::context_dependencies, and dal::static_stored_object.
Public Member Functions | |
void | update_from_context () const |
this function has to be defined and should update the object when the context is modified. More... | |
void | disable_brick (size_type ib) |
Disable a brick. More... | |
void | enable_brick (size_type ib) |
Enable a brick. More... | |
void | disable_variable (const std::string &name) |
Disable a variable (and its attached mutlipliers). More... | |
void | enable_variable (const std::string &name) |
Enable a variable (and its attached mutlipliers). More... | |
bool | variable_exists (const std::string &name) const |
Says if a name corresponds to a declared variable. More... | |
bool | is_data (const std::string &name) const |
Says if a name corresponds to a declared data or disabled variable. More... | |
bool | is_true_data (const std::string &name) const |
Says if a name corresponds to a declared data. More... | |
bool | is_complex () const |
Boolean which says if the model deals with real or complex unknowns and data. More... | |
bool | is_coercive () const |
Return true if all the model terms do not affect the coercivity of the whole tangent system. More... | |
bool | is_symmetric () const |
Return true if all the model terms do not affect the coercivity of the whole tangent system. More... | |
bool | is_linear () const |
Return true if all the model terms are linear. More... | |
size_type | nb_dof () const |
Total number of degrees of freedom in the model. More... | |
dim_type | leading_dimension () const |
Leading dimension of the meshes used in the model. More... | |
std::string | new_name (const std::string &name) |
Gives a non already existing variable name begining by name . More... | |
const model_real_plain_vector & | real_variable (const std::string &name, size_type niter) const |
Gives the access to the vector value of a variable. More... | |
const model_real_plain_vector & | real_variable (const std::string &name) const |
The same as above, but either accessing the latest variable version, or the previous, if using "Old_" prefix. | |
const model_complex_plain_vector & | complex_variable (const std::string &name, size_type niter) const |
Gives the access to the vector value of a variable. More... | |
const model_complex_plain_vector & | complex_variable (const std::string &name) const |
The same as above, but either accessing the latest variable version, or the previous, if using "Old_" prefix. | |
model_real_plain_vector & | set_real_variable (const std::string &name, size_type niter) const |
Gives the write access to the vector value of a variable. More... | |
model_real_plain_vector & | set_real_variable (const std::string &name) const |
The same as above, but for either latest variable, or for the previous, if prefixed with "Old_". More... | |
model_complex_plain_vector & | set_complex_variable (const std::string &name, size_type niter) const |
Gives the write access to the vector value of a variable. More... | |
model_complex_plain_vector & | set_complex_variable (const std::string &name) const |
The same as above, but either accessing the latest variable version, or the previous, if using "Old_" prefix. | |
void | add_fixed_size_variable (const std::string &name, size_type size, size_type niter=1) |
Add a fixed size variable to the model assumed to be a vector. More... | |
void | add_fixed_size_variable (const std::string &name, const bgeot::multi_index &sizes, size_type niter=1) |
Add a fixed size variable to the model whith given tensor dimensions. More... | |
void | add_fixed_size_data (const std::string &name, size_type size, size_type niter=1) |
Add a fixed size data to the model. More... | |
void | add_fixed_size_data (const std::string &name, const bgeot::multi_index &sizes, size_type niter=1) |
Add a fixed size data to the model. More... | |
void | resize_fixed_size_variable (const std::string &name, size_type size) |
Resize a fixed size variable (or data) of the model. More... | |
void | resize_fixed_size_variable (const std::string &name, const bgeot::multi_index &sizes) |
Resize a fixed size variable (or data) of the model. More... | |
template<typename VECT > | |
void | add_initialized_fixed_size_data (const std::string &name, const VECT &v) |
Add a fixed size data (assumed to be a vector) to the model and initialized with v. More... | |
template<typename VECT > | |
void | add_initialized_fixed_size_data (const std::string &name, const VECT &v, const bgeot::multi_index &sizes) |
Add a fixed size data (assumed to be a vector) to the model and initialized with v. More... | |
void | add_initialized_matrix_data (const std::string &name, const base_matrix &M) |
Add a fixed size data (assumed to be a matrix) to the model and initialized with M. More... | |
void | add_initialized_tensor_data (const std::string &name, const base_tensor &t) |
Add a fixed size data (assumed to be a tensor) to the model and initialized with t. More... | |
template<typename T > | |
void | add_initialized_scalar_data (const std::string &name, T e) |
Add a scalar data (i.e. More... | |
void | add_im_data (const std::string &name, const im_data &im_data, size_type niter=1) |
Add data, defined at integration points. More... | |
void | add_fem_variable (const std::string &name, const mesh_fem &mf, size_type niter=1) |
Add a variable being the dofs of a finite element method to the model. More... | |
void | add_filtered_fem_variable (const std::string &name, const mesh_fem &mf, size_type region, size_type niter=1) |
Add a variable linked to a fem with the dof filtered with respect to a mesh region. More... | |
void | add_affine_dependent_variable (const std::string &name, const std::string &org_name, scalar_type alpha=scalar_type(1)) |
Add a "virtual" variable be an affine depedent variable with respect to another variable. More... | |
void | add_fem_data (const std::string &name, const mesh_fem &mf, dim_type qdim=1, size_type niter=1) |
Add a data being the dofs of a finite element method to the model. More... | |
void | add_fem_data (const std::string &name, const mesh_fem &mf, const bgeot::multi_index &sizes, size_type niter=1) |
Add a data being the dofs of a finite element method to the model. More... | |
template<typename VECT > | |
void | add_initialized_fem_data (const std::string &name, const mesh_fem &mf, const VECT &v) |
Add an initialized fixed size data to the model, assumed to be a vector field if the size of the vector is a multiple of the dof number. More... | |
template<typename VECT > | |
void | add_initialized_fem_data (const std::string &name, const mesh_fem &mf, const VECT &v, const bgeot::multi_index &sizes) |
Add a fixed size data to the model. More... | |
void | add_multiplier (const std::string &name, const mesh_fem &mf, const std::string &primal_name, size_type niter=1) |
Add a particular variable linked to a fem being a multiplier with respect to a primal variable. More... | |
void | add_multiplier (const std::string &name, const mesh_fem &mf, size_type region, const std::string &primal_name, size_type niter=1) |
Add a particular variable linked to a fem being a multiplier with respect to a primal variable and a region. More... | |
void | add_multiplier (const std::string &name, const mesh_fem &mf, const std::string &primal_name, const mesh_im &mim, size_type region, size_type niter=1) |
Add a particular variable linked to a fem being a multiplier with respect to a primal variable. More... | |
const ga_macro_dictionnary & | macro_dictionnary () const |
Dictonnary of user defined macros. More... | |
void | add_macro (const std::string &name, const std::string &expr) |
Add a macro definition for the high generic assembly langage. More... | |
void | del_macro (const std::string &name) |
Delete a previously defined macro definition. More... | |
bool | macro_exists (const std::string &name) const |
Says if a macro of that name has been defined. More... | |
void | delete_variable (const std::string &varname) |
Delete a variable or data of the model. More... | |
const mesh_fem & | mesh_fem_of_variable (const std::string &name) const |
Gives the access to the mesh_fem of a variable if any. More... | |
const mesh_fem * | pmesh_fem_of_variable (const std::string &name) const |
Gives a pointer to the mesh_fem of a variable if any. More... | |
const model_real_sparse_matrix & | real_tangent_matrix () const |
Gives the access to the tangent matrix. More... | |
const model_complex_sparse_matrix & | complex_tangent_matrix () const |
Gives the access to the tangent matrix. More... | |
const model_real_plain_vector & | real_rhs () const |
Gives the access to the right hand side of the tangent linear system. More... | |
const model_real_plain_vector & | real_brick_term_rhs (size_type ib, size_type ind_term=0, bool sym=false, size_type ind_iter=0) const |
Gives the access to the part of the right hand side of a term of a particular nonlinear brick. More... | |
const model_complex_plain_vector & | complex_rhs () const |
Gives access to the right hand side of the tangent linear system. More... | |
const model_complex_plain_vector & | complex_brick_term_rhs (size_type ib, size_type ind_term=0, bool sym=false, size_type ind_iter=0) const |
Gives access to the part of the right hand side of a term of a particular nonlinear brick. More... | |
void | listvar (std::ostream &ost) const |
List the model variables and constant. More... | |
void | listbricks (std::ostream &ost, size_type base_id=0) const |
List the model bricks. More... | |
const dal::bit_vector & | get_active_bricks () const |
Return the model brick ids. More... | |
void | touch_brick (size_type ib) |
Force the re-computation of a brick for the next assembly. More... | |
size_type | add_brick (pbrick pbr, const varnamelist &varnames, const varnamelist &datanames, const termlist &terms, const mimlist &mims, size_type region) |
Add a brick to the model. More... | |
void | delete_brick (size_type ib) |
Delete the brick of index ib from the model. More... | |
void | add_mim_to_brick (size_type ib, const mesh_im &mim) |
Add an integration method to a brick. More... | |
void | change_terms_of_brick (size_type ib, const termlist &terms) |
Change the term list of a brick. More... | |
void | change_variables_of_brick (size_type ib, const varnamelist &vl) |
Change the variable list of a brick. More... | |
void | change_data_of_brick (size_type ib, const varnamelist &vl) |
Change the data list of a brick. More... | |
void | change_mims_of_brick (size_type ib, const mimlist &ml) |
Change the mim list of a brick. More... | |
void | change_update_flag_of_brick (size_type ib, bool flag) |
Change the update flag of a brick. More... | |
void | add_time_dispatcher (size_type ibrick, pdispatcher pdispatch) |
Add a time dispacther to a brick. More... | |
virtual void | first_iter () |
For transient problems. More... | |
virtual void | next_iter () |
For transient problems. More... | |
void | add_interpolate_transformation (const std::string &name, pinterpolate_transformation ptrans) |
Add a interpolate transformation to the model to be used with the generic assembly. | |
pinterpolate_transformation | interpolate_transformation (const std::string &name) const |
Get a pointer to the interpolate transformation name . | |
bool | interpolate_transformation_exists (const std::string &name) const |
Tests if name correpsonds to an interpolate transformation. | |
void | add_elementary_transformation (const std::string &name, pelementary_transformation ptrans) |
Add an elementary transformation to the model to be used with the generic assembly. | |
pelementary_transformation | elementary_transformation (const std::string &name) const |
Get a pointer to the elementary transformation name . | |
bool | elementary_transformation_exists (const std::string &name) const |
Tests if name correpsonds to an elementary transformation. | |
const std::string & | varname_of_brick (size_type ind_brick, size_type ind_var) |
Gives the name of the variable of index ind_var of the brick of index ind_brick . More... | |
const std::string & | dataname_of_brick (size_type ind_brick, size_type ind_data) |
Gives the name of the data of index ind_data of the brick of index ind_brick . More... | |
virtual void | assembly (build_version version) |
Assembly of the tangent system taking into account the terms from all bricks. More... | |
std::string | Neumann_term (const std::string &varname, size_type region) |
Gives the assembly string corresponding to the Neumann term of the fem variable varname on region . More... | |
void | check_brick_stiffness_rhs (size_type ind_brick) const |
check consistency of RHS and Stiffness matrix for brick with More... | |
Public Member Functions inherited from getfem::context_dependencies | |
bool | context_check () const |
return true if update_from_context was called | |
``Model'' variables store the variables, the data and the description of a model.
This includes the global tangent matrix, the right hand side and the constraints. There are two kinds of models, the real'' and the
complex'' models.
Definition at line 114 of file getfem_models.h.
|
inlinevirtual |
this function has to be defined and should update the object when the context is modified.
Implements getfem::context_dependencies.
Definition at line 485 of file getfem_models.h.
|
inline |
Disable a brick.
Definition at line 494 of file getfem_models.h.
|
inline |
Enable a brick.
Definition at line 500 of file getfem_models.h.
void getfem::model::disable_variable | ( | const std::string & | name | ) |
Disable a variable (and its attached mutlipliers).
Definition at line 947 of file getfem_models.cc.
void getfem::model::enable_variable | ( | const std::string & | name | ) |
Enable a variable (and its attached mutlipliers).
Definition at line 965 of file getfem_models.cc.
bool getfem::model::variable_exists | ( | const std::string & | name | ) | const |
Says if a name corresponds to a declared variable.
Definition at line 983 of file getfem_models.cc.
bool getfem::model::is_data | ( | const std::string & | name | ) | const |
Says if a name corresponds to a declared data or disabled variable.
Definition at line 274 of file getfem_models.cc.
bool getfem::model::is_true_data | ( | const std::string & | name | ) | const |
Says if a name corresponds to a declared data.
Definition at line 282 of file getfem_models.cc.
|
inline |
Boolean which says if the model deals with real or complex unknowns and data.
Definition at line 540 of file getfem_models.h.
|
inline |
Return true if all the model terms do not affect the coercivity of the whole tangent system.
Definition at line 544 of file getfem_models.h.
|
inline |
Return true if all the model terms do not affect the coercivity of the whole tangent system.
Definition at line 548 of file getfem_models.h.
|
inline |
Return true if all the model terms are linear.
Definition at line 551 of file getfem_models.h.
size_type getfem::model::nb_dof | ( | void | ) | const |
Total number of degrees of freedom in the model.
Definition at line 335 of file getfem_models.cc.
|
inline |
Leading dimension of the meshes used in the model.
Definition at line 557 of file getfem_models.h.
std::string getfem::model::new_name | ( | const std::string & | name | ) |
Gives a non already existing variable name begining by name
.
Definition at line 219 of file getfem_models.cc.
const model_real_plain_vector & getfem::model::real_variable | ( | const std::string & | name, |
size_type | niter | ||
) | const |
Gives the access to the vector value of a variable.
For the real version.
Definition at line 2943 of file getfem_models.cc.
const model_complex_plain_vector & getfem::model::complex_variable | ( | const std::string & | name, |
size_type | niter | ||
) | const |
Gives the access to the vector value of a variable.
For the complex version.
Definition at line 2969 of file getfem_models.cc.
model_real_plain_vector & getfem::model::set_real_variable | ( | const std::string & | name, |
size_type | niter | ||
) | const |
Gives the write access to the vector value of a variable.
Make a change flag of the variable set. For the real version.
Definition at line 2997 of file getfem_models.cc.
model_real_plain_vector & getfem::model::set_real_variable | ( | const std::string & | name | ) | const |
The same as above, but for either latest variable, or for the previous, if prefixed with "Old_".
Definition at line 2990 of file getfem_models.cc.
model_complex_plain_vector & getfem::model::set_complex_variable | ( | const std::string & | name, |
size_type | niter | ||
) | const |
Gives the write access to the vector value of a variable.
Make a change flag of the variable set. For the complex version.
Definition at line 3025 of file getfem_models.cc.
void getfem::model::add_fixed_size_variable | ( | const std::string & | name, |
size_type | size, | ||
size_type | niter = 1 |
||
) |
Add a fixed size variable to the model assumed to be a vector.
niter is the number of version of the variable stored.
Definition at line 750 of file getfem_models.cc.
void getfem::model::add_fixed_size_variable | ( | const std::string & | name, |
const bgeot::multi_index & | sizes, | ||
size_type | niter = 1 |
||
) |
Add a fixed size variable to the model whith given tensor dimensions.
niter is the number of version of the variable stored.
Definition at line 760 of file getfem_models.cc.
void getfem::model::add_fixed_size_data | ( | const std::string & | name, |
size_type | size, | ||
size_type | niter = 1 |
||
) |
Add a fixed size data to the model.
niter is the number of version of the data stored, for time integration schemes.
Definition at line 795 of file getfem_models.cc.
void getfem::model::add_fixed_size_data | ( | const std::string & | name, |
const bgeot::multi_index & | sizes, | ||
size_type | niter = 1 |
||
) |
Add a fixed size data to the model.
niter is the number of version of the data stored, for time integration schemes.
Definition at line 804 of file getfem_models.cc.
void getfem::model::resize_fixed_size_variable | ( | const std::string & | name, |
size_type | size | ||
) |
Resize a fixed size variable (or data) of the model.
Definition at line 772 of file getfem_models.cc.
void getfem::model::resize_fixed_size_variable | ( | const std::string & | name, |
const bgeot::multi_index & | sizes | ||
) |
Resize a fixed size variable (or data) of the model.
Definition at line 784 of file getfem_models.cc.
|
inline |
Add a fixed size data (assumed to be a vector) to the model and initialized with v.
Definition at line 699 of file getfem_models.h.
|
inline |
Add a fixed size data (assumed to be a vector) to the model and initialized with v.
Definition at line 711 of file getfem_models.h.
void getfem::model::add_initialized_matrix_data | ( | const std::string & | name, |
const base_matrix & | M | ||
) |
Add a fixed size data (assumed to be a matrix) to the model and initialized with M.
Definition at line 814 of file getfem_models.cc.
void getfem::model::add_initialized_tensor_data | ( | const std::string & | name, |
const base_tensor & | t | ||
) |
Add a fixed size data (assumed to be a tensor) to the model and initialized with t.
Definition at line 830 of file getfem_models.cc.
|
inline |
Add a scalar data (i.e.
of size 1) to the model initialized with e.
Definition at line 738 of file getfem_models.h.
void getfem::model::add_im_data | ( | const std::string & | name, |
const im_data & | im_data, | ||
size_type | niter = 1 |
||
) |
Add data, defined at integration points.
Definition at line 844 of file getfem_models.cc.
void getfem::model::add_fem_variable | ( | const std::string & | name, |
const mesh_fem & | mf, | ||
size_type | niter = 1 |
||
) |
Add a variable being the dofs of a finite element method to the model.
niter is the number of version of the variable stored, for time integration schemes.
Definition at line 853 of file getfem_models.cc.
void getfem::model::add_filtered_fem_variable | ( | const std::string & | name, |
const mesh_fem & | mf, | ||
size_type | region, | ||
size_type | niter = 1 |
||
) |
Add a variable linked to a fem with the dof filtered with respect to a mesh region.
Only the dof returned by the dof_on_region method of mf
will be kept. niter is the number of version of the data stored, for time integration schemes.
Definition at line 864 of file getfem_models.cc.
void getfem::model::add_affine_dependent_variable | ( | const std::string & | name, |
const std::string & | org_name, | ||
scalar_type | alpha = scalar_type(1) |
||
) |
Add a "virtual" variable be an affine depedent variable with respect to another variable.
Mainly used for time integration scheme for instance to represent time derivative of variables. alpha
is the multiplicative scalar of the dependency.
Definition at line 875 of file getfem_models.cc.
void getfem::model::add_fem_data | ( | const std::string & | name, |
const mesh_fem & | mf, | ||
dim_type | qdim = 1 , |
||
size_type | niter = 1 |
||
) |
Add a data being the dofs of a finite element method to the model.
Definition at line 889 of file getfem_models.cc.
void getfem::model::add_fem_data | ( | const std::string & | name, |
const mesh_fem & | mf, | ||
const bgeot::multi_index & | sizes, | ||
size_type | niter = 1 |
||
) |
Add a data being the dofs of a finite element method to the model.
Definition at line 900 of file getfem_models.cc.
|
inline |
Add an initialized fixed size data to the model, assumed to be a vector field if the size of the vector is a multiple of the dof number.
Definition at line 784 of file getfem_models.h.
|
inline |
Add a fixed size data to the model.
The data is a tensor of given sizes on each dof of the finite element method.
Definition at line 797 of file getfem_models.h.
void getfem::model::add_multiplier | ( | const std::string & | name, |
const mesh_fem & | mf, | ||
const std::string & | primal_name, | ||
size_type | niter = 1 |
||
) |
Add a particular variable linked to a fem being a multiplier with respect to a primal variable.
The dof will be filtered with the gmm::range_basis function applied on the terms of the model which link the multiplier and the primal variable. Optimized for boundary multipliers. niter is the number of version of the data stored, for time integration schemes.
Definition at line 911 of file getfem_models.cc.
void getfem::model::add_multiplier | ( | const std::string & | name, |
const mesh_fem & | mf, | ||
size_type | region, | ||
const std::string & | primal_name, | ||
size_type | niter = 1 |
||
) |
Add a particular variable linked to a fem being a multiplier with respect to a primal variable and a region.
The dof will be filtered both with the gmm::range_basis function applied on the terms of the model which link the multiplier and the primal variable and on the dof on the given region. Optimized for boundary multipliers. niter is the number of version of the data stored, for time integration schemes.
Definition at line 923 of file getfem_models.cc.
void getfem::model::add_multiplier | ( | const std::string & | name, |
const mesh_fem & | mf, | ||
const std::string & | primal_name, | ||
const mesh_im & | mim, | ||
size_type | region, | ||
size_type | niter = 1 |
||
) |
Add a particular variable linked to a fem being a multiplier with respect to a primal variable.
The dof will be filtered with the gmm::range_basis function applied on the mass matrix between the fem of the multiplier and the one of the primal variable. Optimized for boundary multipliers. niter is the number of version of the data stored, for time integration schemes.
Definition at line 935 of file getfem_models.cc.
|
inline |
Dictonnary of user defined macros.
Definition at line 839 of file getfem_models.h.
void getfem::model::add_macro | ( | const std::string & | name, |
const std::string & | expr | ||
) |
Add a macro definition for the high generic assembly langage.
This macro can be used for the definition of generic assembly bricks. The name of a macro cannot coincide with a variable name.
Definition at line 987 of file getfem_models.cc.
void getfem::model::del_macro | ( | const std::string & | name | ) |
Delete a previously defined macro definition.
Definition at line 992 of file getfem_models.cc.
|
inline |
Says if a macro of that name has been defined.
Definition at line 850 of file getfem_models.h.
void getfem::model::delete_variable | ( | const std::string & | varname | ) |
Delete a variable or data of the model.
Definition at line 1026 of file getfem_models.cc.
const mesh_fem & getfem::model::mesh_fem_of_variable | ( | const std::string & | name | ) | const |
Gives the access to the mesh_fem of a variable if any.
Throw an exception otherwise.
Definition at line 2872 of file getfem_models.cc.
const mesh_fem * getfem::model::pmesh_fem_of_variable | ( | const std::string & | name | ) | const |
Gives a pointer to the mesh_fem of a variable if any.
0 otherwise.
Definition at line 2878 of file getfem_models.cc.
|
inline |
Gives the access to the tangent matrix.
For the real version.
Definition at line 868 of file getfem_models.h.
|
inline |
Gives the access to the tangent matrix.
For the complex version.
Definition at line 875 of file getfem_models.h.
|
inline |
Gives the access to the right hand side of the tangent linear system.
For the real version. An assembly of the rhs has to be done first.
Definition at line 883 of file getfem_models.h.
|
inline |
Gives the access to the part of the right hand side of a term of a particular nonlinear brick.
Does not account of the eventual time dispatcher. An assembly of the rhs has to be done first. For the real version.
Definition at line 890 of file getfem_models.h.
|
inline |
Gives access to the right hand side of the tangent linear system.
For the complex version.
Definition at line 907 of file getfem_models.h.
|
inline |
Gives access to the part of the right hand side of a term of a particular nonlinear brick.
Does not account of the eventual time dispatcher. An assembly of the rhs has to be done first. For the real version.
Definition at line 914 of file getfem_models.h.
void getfem::model::listvar | ( | std::ostream & | ost | ) | const |
List the model variables and constant.
Definition at line 690 of file getfem_models.cc.
void getfem::model::listbricks | ( | std::ostream & | ost, |
size_type | base_id = 0 |
||
) | const |
List the model bricks.
Definition at line 1685 of file getfem_models.cc.
|
inline |
Return the model brick ids.
Definition at line 938 of file getfem_models.h.
|
inline |
Force the re-computation of a brick for the next assembly.
Definition at line 943 of file getfem_models.h.
size_type getfem::model::add_brick | ( | pbrick | pbr, |
const varnamelist & | varnames, | ||
const varnamelist & | datanames, | ||
const termlist & | terms, | ||
const mimlist & | mims, | ||
size_type | region | ||
) |
Add a brick to the model.
varname is the list of variable used and datanames the data used. If a variable is used as a data, it should be declared in the datanames (it will depend on the value of the variable not only on the fem). Returns the brick index.
Definition at line 1071 of file getfem_models.cc.
void getfem::model::delete_brick | ( | size_type | ib | ) |
Delete the brick of index ib from the model.
Definition at line 995 of file getfem_models.cc.
void getfem::model::add_mim_to_brick | ( | size_type | ib, |
const mesh_im & | mim | ||
) |
Add an integration method to a brick.
Definition at line 1120 of file getfem_models.cc.
void getfem::model::change_terms_of_brick | ( | size_type | ib, |
const termlist & | terms | ||
) |
Change the term list of a brick.
Used for very special bricks only.
Definition at line 1127 of file getfem_models.cc.
void getfem::model::change_variables_of_brick | ( | size_type | ib, |
const varnamelist & | vl | ||
) |
Change the variable list of a brick.
Used for very special bricks only.
Definition at line 1142 of file getfem_models.cc.
void getfem::model::change_data_of_brick | ( | size_type | ib, |
const varnamelist & | vl | ||
) |
Change the data list of a brick.
Used for very special bricks only.
Definition at line 1151 of file getfem_models.cc.
void getfem::model::change_mims_of_brick | ( | size_type | ib, |
const mimlist & | ml | ||
) |
Change the mim list of a brick.
Used for very special bricks only.
Definition at line 1160 of file getfem_models.cc.
void getfem::model::change_update_flag_of_brick | ( | size_type | ib, |
bool | flag | ||
) |
Change the update flag of a brick.
Used for very special bricks only.
Definition at line 1167 of file getfem_models.cc.
void getfem::model::add_time_dispatcher | ( | size_type | ibrick, |
pdispatcher | pdispatch | ||
) |
Add a time dispacther to a brick.
Definition at line 1641 of file getfem_models.cc.
|
virtual |
For transient problems.
Initialisation of iterations.
Definition at line 2000 of file getfem_models.cc.
|
virtual |
For transient problems.
Prepare the next iterations. In particular shift the version of the variables.
Definition at line 2024 of file getfem_models.cc.
const std::string & getfem::model::varname_of_brick | ( | size_type | ind_brick, |
size_type | ind_var | ||
) |
Gives the name of the variable of index ind_var
of the brick of index ind_brick
.
Definition at line 1669 of file getfem_models.cc.
const std::string & getfem::model::dataname_of_brick | ( | size_type | ind_brick, |
size_type | ind_data | ||
) |
Gives the name of the data of index ind_data
of the brick of index ind_brick
.
Definition at line 1677 of file getfem_models.cc.
|
virtual |
Assembly of the tangent system taking into account the terms from all bricks.
Definition at line 2385 of file getfem_models.cc.
std::string getfem::model::Neumann_term | ( | const std::string & | varname, |
size_type | region | ||
) |
Gives the assembly string corresponding to the Neumann term of the fem variable varname
on region
.
It is deduced from the assembly string declared by the model bricks. region
should be the index of a boundary region on the mesh where varname
is defined. Care to call this function only after all the volumic bricks have been declared. Complains, if a brick omit to declare an assembly string.
Definition at line 2334 of file getfem_models.cc.
void getfem::model::check_brick_stiffness_rhs | ( | size_type | ind_brick | ) | const |
check consistency of RHS and Stiffness matrix for brick with
ind_brick | - index of the brick |
Definition at line 3080 of file getfem_models.cc.