Model Bricks

Classes

class  getfem::mdbrick_Coulomb_friction< MODEL_STATE >
 Unilateral contact and Coulomb friction condition brick. More...
class  getfem::mdbrick_bilaplacian< MODEL_STATE >
 Bilaplacian brick $ D \Delta \Delta u $. More...
class  getfem::mdbrick_normal_derivative_source_term< MODEL_STATE >
 Normal derivative source term brick ( $ F = \int b.\partial_n v $ ). More...
class  getfem::mdbrick_neumann_KL_term< MODEL_STATE >
 Brick for Special boundary condition for Kirchhoff-Love model. More...
class  getfem::mdbrick_normal_derivative_Dirichlet< MODEL_STATE >
 Normal derivative Dirichlet condition brick. More...
class  getfem::mdbrick_isotropic_linearized_plate< MODEL_STATE >
 Linear plate model brick (for moderately thick plates, using the Reissner-Mindlin model). More...
class  getfem::mdbrick_mixed_isotropic_linearized_plate< MODEL_STATE >
 Mixed linear plate model brick (for thin plates, using Kirchhoff-Love model). More...
class  getfem::mdbrick_plate_simple_support< MODEL_STATE >
 Simple support condition for plate model brick (Dirichlet condition on $ut$ and $u3$, free rotation). More...
class  getfem::mdbrick_plate_clamped_support< MODEL_STATE >
 Clamped condition for plate model brick (Dirichlet condition on the displacement and the rotation). More...
class  getfem::mdbrick_plate_closing< MODEL_STATE >
 Free edges condition for mixed plate model brick. More...
class  getfem::model_state< T_MATRIX, C_MATRIX, VECTOR >
 Model State : contains all storage needed by the bricks (. More...
class  getfem::mdbrick_abstract_common_base
 Common base class for real and complex model bricks. More...
class  getfem::mdbrick_abstract< MODEL_STATE >
 Abstract model brick. More...
class  getfem::mdbrick_abstract_linear_pde< MODEL_STATE >
 Abstract brick for linear PDE problems (such as Helmholtz, Laplacian, etc). More...
class  getfem::mdbrick_isotropic_linearized_elasticity< MODEL_STATE >
 Linear elasticity brick ( $ K = \int \sigma(u):\varepsilon(v) $ ). More...
class  getfem::mdbrick_mass_matrix< MODEL_STATE >
 Mass-matrix brick ( $\int \rho u.v $ ). More...
class  getfem::mdbrick_Helmholtz< MODEL_STATE >
 Helmholtz brick ( $\int k^2 u.v - \nabla u.\nabla v$ ). More...
class  getfem::mdbrick_generic_elliptic< MODEL_STATE >
 General elliptic brick ( $ (\alpha \nabla u).\nabla v $ ). More...
class  getfem::mdbrick_source_term< MODEL_STATE >
 Source term brick ( $ F = \int b.v $ ). More...
class  getfem::mdbrick_normal_source_term< MODEL_STATE >
 Normal source term brick ( $ F = \int (b n).v $ ). More...
class  getfem::mdbrick_QU_term< MODEL_STATE >
 Q.U term brick ( $ \int (qu).v $ ) with $ q(x) $ a $N \times N$ matrix field (assuming N = mf_u.get_qdim();). More...
class  getfem::mdbrick_linear_incomp< MODEL_STATE >
 Mixed linear incompressible condition brick. More...
class  getfem::mdbrick_Dirichlet< MODEL_STATE >
 Standard Dirichlet condition brick. More...
class  getfem::mdbrick_normal_component_Dirichlet< MODEL_STATE >
 normal component Dirichlet condition brick. More...
class  getfem::mdbrick_generalized_Dirichlet< MODEL_STATE >
 Generalized Dirichlet condition brick. More...
class  getfem::mdbrick_navier_stokes< MODEL_STATE >
 Incompressible Navier-Stokes brick. More...
class  getfem::mdbrick_nonlinear_elasticity< MODEL_STATE >
 Non-linear elasticity brick ( $ \int (I+\nabla u)\hat{\hat{\sigma}}:\nabla v = l(v) $ ). More...
class  getfem::mdbrick_nonlinear_incomp< MODEL_STATE >
 Incompressible non-linear elasticity brick. More...
class  getfem::mdbrick_plasticity< MODEL_STATE >
 Plasticity brick (small deformations, quasi-static). More...

Typedefs

typedef gmm::rsvector
< scalar_type > 
getfem::modeling_standard_sparse_vector
 Default real sparse vector type for bricks.
typedef gmm::col_matrix
< modeling_standard_sparse_vector > 
getfem::modeling_standard_sparse_matrix
 Default real sparse matrix type for bricks.
typedef std::vector< scalar_type > getfem::modeling_standard_plain_vector
 Default real dense vector type for bricks.
typedef gmm::rsvector
< complex_type > 
getfem::modeling_standard_complex_sparse_vector
 Default complex sparse vector type for bricks.
typedef gmm::col_matrix
< modeling_standard_complex_sparse_vector > 
getfem::modeling_standard_complex_sparse_matrix
 Default complex sparse matrix type for bricks.
typedef std::vector< complex_type > getfem::modeling_standard_complex_plain_vector
 Default complex dense vector type for bricks.
typedef model_state
< modeling_standard_sparse_matrix,
modeling_standard_sparse_matrix,
modeling_standard_plain_vector > 
getfem::standard_model_state
 Default real model_state for bricks.
typedef model_state
< modeling_standard_complex_sparse_matrix,
modeling_standard_complex_sparse_matrix,
modeling_standard_complex_plain_vector > 
getfem::standard_complex_model_state
 Default complex model_state for bricks.

Enumerations

enum  getfem::constraints_type
 

Insert a constraint B*U=R into the problem.

More...

Functions

void getfem::standard_solve (model &md, gmm::iteration &iter, rmodel_plsolver_type lsolver, gmm::abstract_newton_line_search &ls)
 A default solver for the model brick system.
template<typename MODEL_STATE >
void getfem::standard_solve (MODEL_STATE &MS, mdbrick_abstract< MODEL_STATE > &problem, gmm::iteration &iter, typename useful_types< MODEL_STATE >::plsolver_type lsolver, gmm::abstract_newton_line_search &ls)
 A default solver for the old model brick system.

Enumeration Type Documentation

Insert a constraint B*U=R into the problem.

B is a nc * mf_u.nb_dof() constraint matrix (nc is the number of constraints to be added by this brick).

This brick is in particular a base class of mdbrick_Dirichlet. It can also be used on its own to add a constraint to make the linear system well-posed for instance when one of the unknown is defined modulo a constant (typically a pressure term).

Definition at line 1524 of file getfem_modeling.h.


Function Documentation

void getfem::standard_solve ( model &  md,
gmm::iteration iter,
rmodel_plsolver_type  lsolver,
gmm::abstract_newton_line_search &  ls 
)

A default solver for the model brick system.

Of course it could be not very well suited for a particular problem, so it could be copied and adapted to change solvers, add a special traitement on the problem, etc ... This is in fact a model for your own solver.

For small problems, a direct solver is used (getfem::SuperLU_solve), for larger problems, a conjugate gradient gmm::cg (if the problem is coercive) or a gmm::gmres is used (preconditionned with an incomplete factorization).

When MPI/METIS is enabled, a partition is done via METIS, and a parallel solver can be used.

Definition at line 125 of file getfem_model_solvers.cc.

template<typename MODEL_STATE >
void getfem::standard_solve ( MODEL_STATE &  MS,
mdbrick_abstract< MODEL_STATE > &  problem,
gmm::iteration iter,
typename useful_types< MODEL_STATE >::plsolver_type  lsolver,
gmm::abstract_newton_line_search &  ls 
) [inline]

A default solver for the old model brick system.

Of course it could be not very well suited for a particular problem, so it could be copied and adapted to change solvers, add a special traitement on the problem, etc ... This is in fact a model for your own solver.

For small problems, a direct solver is used (getfem::SuperLU_solve), for larger problems, a conjugate gradient gmm::cg (if the problem is coercive) or a gmm::gmres is used (preconditionned with an incomplete factorization).

When MPI/METIS is enabled, a partition is done via METIS, and a parallel solver can be used.

Definition at line 682 of file getfem_model_solvers.h.


Generated on Sun Mar 7 21:09:12 2010 for getfem++ by  doxygen 1.6.1