|
GetFEM
5.4.4
|
Miscelleanous assembly routines for common terms. Use the low-level generic assembly. Prefer the high-level one. More...
Go to the source code of this file.
Namespaces | |
| getfem | |
| GEneric Tool for Finite Element Methods. | |
Functions | |
| template<typename VEC > | |
| scalar_type | getfem::asm_L2_norm (const mesh_im &mim, const mesh_fem &mf, const VEC &U, const mesh_region &rg=mesh_region::all_convexes()) |
| compute | |
| template<typename VEC1 , typename VEC2 > | |
| scalar_type | getfem::asm_L2_dist (const mesh_im &mim, const mesh_fem &mf1, const VEC1 &U1, const mesh_fem &mf2, const VEC2 &U2, mesh_region rg=mesh_region::all_convexes()) |
| Compute the distance between U1 and U2, defined on two different mesh_fems (but sharing the same mesh), without interpolating U1 on mf2. | |
| template<typename VEC > | |
| scalar_type | getfem::asm_H1_semi_norm (const mesh_im &mim, const mesh_fem &mf, const VEC &U, const mesh_region &rg=mesh_region::all_convexes()) |
| compute | |
| template<typename VEC1 , typename VEC2 > | |
| scalar_type | getfem::asm_H1_semi_dist (const mesh_im &mim, const mesh_fem &mf1, const VEC1 &U1, const mesh_fem &mf2, const VEC2 &U2, mesh_region rg=mesh_region::all_convexes()) |
| Compute the H1 semi-distance between U1 and U2, defined on two different mesh_fems (but sharing the same mesh), without interpolating U1 on mf2. | |
| template<typename VEC > | |
| scalar_type | getfem::asm_H1_norm (const mesh_im &mim, const mesh_fem &mf, const VEC &U, const mesh_region &rg=mesh_region::all_convexes()) |
| compute the H1 norm of U. More... | |
| template<typename VEC1 , typename VEC2 > | |
| scalar_type | getfem::asm_H1_dist (const mesh_im &mim, const mesh_fem &mf1, const VEC1 &U1, const mesh_fem &mf2, const VEC2 &U2, mesh_region rg=mesh_region::all_convexes()) |
| Compute the H1 distance between U1 and U2. | |
| template<typename VEC > | |
| scalar_type | getfem::asm_H2_semi_norm (const mesh_im &mim, const mesh_fem &mf, const VEC &U, const mesh_region &rg=mesh_region::all_convexes()) |
| compute | |
| template<typename VEC > | |
| scalar_type | getfem::asm_H2_norm (const mesh_im &mim, const mesh_fem &mf, const VEC &U, const mesh_region &rg=mesh_region::all_convexes()) |
| compute the H2 norm of U (for C^1 elements). | |
| template<typename VEC1 , typename VEC2 > | |
| scalar_type | getfem::asm_H2_dist (const mesh_im &mim, const mesh_fem &mf1, const VEC1 &U1, const mesh_fem &mf2, const VEC2 &U2, const mesh_region &rg=mesh_region::all_convexes()) |
| Compute the H2 distance between U1 and U2. | |
| template<typename MAT > | |
| void | getfem::asm_mass_matrix (const MAT &M, const mesh_im &mim, const mesh_fem &mf1, const mesh_region &rg=mesh_region::all_convexes()) |
| generic mass matrix assembly (on the whole mesh or on the specified convex set or boundary) | |
| template<typename MAT > | |
| void | getfem::asm_mass_matrix (const MAT &M, const mesh_im &mim, const mesh_fem &mf1, const mesh_fem &mf2, const mesh_region &rg=mesh_region::all_convexes()) |
| generic mass matrix assembly (on the whole mesh or on the specified boundary) | |
| template<typename MAT , typename VECT > | |
| void | getfem::asm_mass_matrix_param (const MAT &M, const mesh_im &mim, const mesh_fem &mf1, const mesh_fem &mf2, const mesh_fem &mf_data, const VECT &A, const mesh_region &rg=mesh_region::all_convexes()) |
| generic mass matrix assembly with an additional parameter (on the whole mesh or on the specified boundary) | |
| template<typename MAT , typename VECT > | |
| void | getfem::asm_mass_matrix_param (MAT &M, const mesh_im &mim, const mesh_fem &mf_u, const mesh_fem &mf_data, const VECT &F, const mesh_region &rg=mesh_region::all_convexes()) |
| generic mass matrix assembly with an additional parameter (on the whole mesh or on the specified boundary) | |
| template<typename MAT , typename VECT > | |
| void | getfem::asm_mass_matrix_homogeneous_param (MAT &M, const mesh_im &mim, const mesh_fem &mf_u, const VECT &F, const mesh_region &rg=mesh_region::all_convexes()) |
| generic mass matrix assembly with an additional constant parameter (on the whole mesh or on the specified boundary) | |
| template<typename MAT > | |
| void | getfem::asm_lumped_mass_matrix_for_first_order_from_consistent (const MAT &M) |
| lumped mass matrix assembly from consistent mass matrix | |
| template<typename MAT > | |
| void | getfem::asm_lumped_mass_matrix_for_first_order (const MAT &M, const mesh_im &mim, const mesh_fem &mf1, const mesh_region &rg=mesh_region::all_convexes()) |
| lumped mass matrix assembly (on the whole mesh or on the specified boundary) | |
| template<typename MAT , typename VECT > | |
| void | getfem::asm_lumped_mass_matrix_for_first_order_param (MAT &M, const mesh_im &mim, const mesh_fem &mf_u, const mesh_fem &mf_data, const VECT &F, const mesh_region &rg=mesh_region::all_convexes()) |
| lumped mass matrix assembly with an additional parameter (on the whole mesh or on the specified boundary) | |
| template<typename VECT1 , typename VECT2 > | |
| void | getfem::asm_source_term (const VECT1 &B, const mesh_im &mim, const mesh_fem &mf, const mesh_fem &mf_data, const VECT2 &F, const mesh_region &rg=mesh_region::all_convexes()) |
| source term (for both volumic sources and boundary (Neumann) sources). | |
| template<typename VECT1 , typename VECT2 > | |
| void | getfem::asm_homogeneous_source_term (const VECT1 &B, const mesh_im &mim, const mesh_fem &mf, const VECT2 &F, const mesh_region &rg=mesh_region::all_convexes()) |
| source term (for both volumic sources and boundary (Neumann) sources). More... | |
| template<typename VECT1 , typename VECT2 > | |
| void | getfem::asm_normal_source_term (VECT1 &B, const mesh_im &mim, const mesh_fem &mf, const mesh_fem &mf_data, const VECT2 &F, const mesh_region &rg) |
| Normal source term (for boundary (Neumann) condition). | |
| template<typename VECT1 , typename VECT2 > | |
| void | getfem::asm_homogeneous_normal_source_term (VECT1 &B, const mesh_im &mim, const mesh_fem &mf, const VECT2 &F, const mesh_region &rg) |
| Homogeneous normal source term (for boundary (Neumann) condition). | |
| template<typename MAT , typename VECT > | |
| void | getfem::asm_qu_term (MAT &M, const mesh_im &mim, const mesh_fem &mf_u, const mesh_fem &mf_d, const VECT &Q, const mesh_region &rg) |
| assembly of | |
| template<class MAT , class VECT > | |
| void | getfem::asm_stiffness_matrix_for_linear_elasticity (const MAT &M, const mesh_im &mim, const mesh_fem &mf, const mesh_fem &mf_data, const VECT &LAMBDA, const VECT &MU, const mesh_region &rg=mesh_region::all_convexes()) |
| Stiffness matrix for linear elasticity, with Lamé coefficients. | |
| template<class MAT , class VECT > | |
| void | getfem::asm_stiffness_matrix_for_homogeneous_linear_elasticity (const MAT &M, const mesh_im &mim, const mesh_fem &mf, const VECT &LAMBDA, const VECT &MU, const mesh_region &rg=mesh_region::all_convexes()) |
| Stiffness matrix for linear elasticity, with constant Lamé coefficients. | |
| template<typename MAT , typename VECT > | |
| void | getfem::asm_stiffness_matrix_for_linear_elasticity_Hooke (MAT &RM, const mesh_im &mim, const mesh_fem &mf, const mesh_fem &mf_data, const VECT &H, const mesh_region &rg=mesh_region::all_convexes()) |
| Stiffness matrix for linear elasticity, with a general Hooke tensor. More... | |
| template<typename MAT > | |
| void | getfem::asm_stokes_B (const MAT &B, const mesh_im &mim, const mesh_fem &mf_u, const mesh_fem &mf_p, const mesh_region &rg=mesh_region::all_convexes()) |
| Build the mixed pressure term | |
| template<typename MAT > | |
| void | getfem::asm_stiffness_matrix_for_homogeneous_laplacian (const MAT &M, const mesh_im &mim, const mesh_fem &mf, const mesh_region &rg=mesh_region::all_convexes()) |
| assembly of | |
| template<typename MAT > | |
| void | getfem::asm_stiffness_matrix_for_homogeneous_laplacian_componentwise (const MAT &M, const mesh_im &mim, const mesh_fem &mf, const mesh_region &rg=mesh_region::all_convexes()) |
| assembly of | |
| template<typename MAT , typename VECT > | |
| void | getfem::asm_stiffness_matrix_for_laplacian (MAT &M, const mesh_im &mim, const mesh_fem &mf, const mesh_fem &mf_data, const VECT &A, const mesh_region &rg=mesh_region::all_convexes()) |
| assembly of | |
| template<typename MAT , typename VECT > | |
| void | getfem::asm_stiffness_matrix_for_laplacian_componentwise (MAT &M, const mesh_im &mim, const mesh_fem &mf, const mesh_fem &mf_data, const VECT &A, const mesh_region &rg=mesh_region::all_convexes()) |
| The same as getfem::asm_stiffness_matrix_for_laplacian , but on each component of mf when mf has a qdim > 1. | |
| template<typename MAT , typename VECT > | |
| void | getfem::asm_stiffness_matrix_for_scalar_elliptic (MAT &M, const mesh_im &mim, const mesh_fem &mf, const mesh_fem &mf_data, const VECT &A, const mesh_region &rg=mesh_region::all_convexes()) |
| assembly of | |
| template<typename MAT , typename VECT > | |
| void | getfem::asm_stiffness_matrix_for_homogeneous_scalar_elliptic (MAT &M, const mesh_im &mim, const mesh_fem &mf, const VECT &A, const mesh_region &rg=mesh_region::all_convexes()) |
| The same but with a constant matrix. | |
| template<typename MAT , typename VECT > | |
| void | getfem::asm_stiffness_matrix_for_scalar_elliptic_componentwise (MAT &M, const mesh_im &mim, const mesh_fem &mf, const mesh_fem &mf_data, const VECT &A, const mesh_region &rg=mesh_region::all_convexes()) |
| The same but on each component of mf when mf has a qdim > 1. | |
| template<typename MAT , typename VECT > | |
| void | getfem::asm_stiffness_matrix_for_homogeneous_scalar_elliptic_componentwise (MAT &M, const mesh_im &mim, const mesh_fem &mf, const VECT &A, const mesh_region &rg=mesh_region::all_convexes()) |
| The same but with a constant matrix. | |
| template<typename MAT , typename VECT > | |
| void | getfem::asm_stiffness_matrix_for_vector_elliptic (MAT &M, const mesh_im &mim, const mesh_fem &mf, const mesh_fem &mf_data, const VECT &A, const mesh_region &rg=mesh_region::all_convexes()) |
| Assembly of | |
| template<typename MAT , typename VECT > | |
| void | getfem::asm_stiffness_matrix_for_homogeneous_vector_elliptic (MAT &M, const mesh_im &mim, const mesh_fem &mf, const VECT &A, const mesh_region &rg=mesh_region::all_convexes()) |
| Assembly of | |
| template<typename MAT , typename VECT > | |
| void | getfem::asm_Helmholtz (MAT &M, const mesh_im &mim, const mesh_fem &mf_u, const mesh_fem &mf_data, const VECT &K_squared, const mesh_region &rg=mesh_region::all_convexes()) |
| assembly of the term | |
| template<typename MAT , typename VECT > | |
| void | getfem::asm_homogeneous_Helmholtz (MAT &M, const mesh_im &mim, const mesh_fem &mf_u, const VECT &K_squared, const mesh_region &rg=mesh_region::all_convexes()) |
| assembly of the term | |
| template<typename MAT , typename VECT1 , typename VECT2 > | |
| void | getfem::asm_dirichlet_constraints (MAT &H, VECT1 &R, const mesh_im &mim, const mesh_fem &mf_u, const mesh_fem &mf_mult, const mesh_fem &mf_r, const VECT2 &r_data, const mesh_region ®ion, int version=ASMDIR_BUILDALL) |
| Assembly of Dirichlet constraints | |
| template<typename MAT , typename VECT1 , typename VECT2 , typename VECT3 > | |
| void | getfem::asm_generalized_dirichlet_constraints (MAT &H, VECT1 &R, const mesh_im &mim, const mesh_fem &mf_u, const mesh_fem &mf_h, const mesh_fem &mf_r, const VECT2 &h_data, const VECT3 &r_data, const mesh_region ®ion, int version=ASMDIR_BUILDALL) |
| Assembly of generalized Dirichlet constraints h(x)u(x) = r(x), where h is a QxQ matrix field (Q == mf_u.get_qdim()), outputs a (under-determined) linear system HU=R. More... | |
| template<typename MAT1 , typename MAT2 , typename VECT1 , typename VECT2 > | |
| size_type | getfem::Dirichlet_nullspace (const MAT1 &H, MAT2 &NS, const VECT1 &R, VECT2 &U0) |
| Build an orthogonal basis of the kernel of H in NS, gives the solution of minimal norm of H*U = R in U0 and return the dimension of the kernel. More... | |
Miscelleanous assembly routines for common terms. Use the low-level generic assembly. Prefer the high-level one.
Definition in file getfem_assembling.h.