Choral
|
MODULE FOR LINEAR ELASTICITY PROBLEMS More...
Data Types | |
interface | l2_product |
L2 product of a function with the basis functions. More... | |
Functions/Subroutines | |
subroutine, public | elasticity_matrix_pattern (g, Y, qdm) |
Define the sparsity pattern for elasticity matrices More... | |
subroutine, public | elasticity_massmat (mass, a, Y, qdm, dofToDof) |
Assemble the mass matrix of the bilinear product: More... | |
subroutine, public | elasticity_stiffmat (stiff, lambda, mu, Y, qdm, dofToDof) |
Assemble the stiffness matrix of the bilinear product: More... | |
real(rp) function, dimension(2, 2) | e2 (v, component) |
To compute the symmetrised gradient in dim 2. More... | |
real(rp) function, dimension(3, 3) | e3 (v, component) |
To compute the symmetrised gradient in dim 3. More... | |
subroutine | fespacexk_l2_product (FV, Y, qdm, f_1, f_2, f_3) |
L2 Product of a vector function \( f:~\R^3 \mapsto \R^d\) with the basis functions of a finite element space \( Y = [X_h]^d \).. \( X_h \) is a scalar finite element space on a mesh \( \T \) with dimension \( d \). It us assumed that \( d \) =2, 3 and that \( \Omega \subset \R^d \). More... | |
subroutine, public | elasticity_neumann_rhs (rhs, Y, quad_type, g_1, g_2, g_3, f) |
L2 scalar product of a vector function \( g:~\R^3 \mapsto \R^d \) with the basis functions fo the finite element space \( Y = [X_h]^d \) on \(\Gamma_f \subset \partial\Omega\) a part of the domain boundary. \( X_h \) is a scalar finite element space on a mesh \( \T \) with dimension \( d \). It us assumed that \( d \) =2, 3 and that \( \Omega \subset \R^d \). More... | |
subroutine, public | elasticity_dirichlet (K, rhs, Y, g1, g2, g3, f) |
DIRICHLET BOUNDARY CONDITION FOR AN ELASTICITY PROBLEM More... | |
MODULE FOR LINEAR ELASTICITY PROBLEMS
Construction of finite element matrices for linear elasticity.
Linear elasticity problems: search for \(u:~\Omega \mapsto \R^2\)
\(~~~~~~~~~ -\dv(A(x) e(u)) = f ~~~\) on \(~~~ \Omega ~~~~~~~~~~~~~~~~~~~~~~~~~~~(1)\)
Hooke tensor: \( ~~A(x)\xi = \lambda(x) {\rm Tr}(\xi) Id + 2 \mu(x)\xi ~~\) with \(~~ \lambda,~\mu~: \Omega \mapsto \R \).
Symmetrised gradient: \(~~ e(u) = (\nabla u + ^T\nabla u)/2 \).
Tutorial examples:
|
private |
To compute the symmetrised gradient in dim 2.
Definition at line 661 of file elasticity.F90.
|
private |
To compute the symmetrised gradient in dim 3.
Definition at line 695 of file elasticity.F90.
subroutine, public elasticity::elasticity_dirichlet | ( | type(csr), intent(inout) | K, |
real(rp), dimension(:), intent(inout) | rhs, | ||
type(fespacexk), intent(in) | Y, | ||
procedure(r3tor) | g1, | ||
procedure(r3tor) | g2, | ||
procedure(r3tor), optional | g3, | ||
procedure(r3tor), optional | f | ||
) |
DIRICHLET BOUNDARY CONDITION FOR AN ELASTICITY PROBLEM
INPUT:
\[ K U = \text{rhs}, \]
OUTPUT:
Modify the linear system on the lines \( l \) associated with a finite element node \( x_i\in \Gamma_f \):
Definition at line 992 of file elasticity.F90.
subroutine, public elasticity::elasticity_massmat | ( | type(csr), intent(inout) | mass, |
procedure(r3tor) | a, | ||
type(fespacexk), intent(in) | Y, | ||
type(quadmesh), intent(in) | qdm, | ||
type(graph), intent(in), optional | dofToDof | ||
) |
Assemble the mass matrix of the bilinear product:
\( (u,v) \mapsto \int_O a(x)~ u(x) \cdot v(x) \dx \)
OUTPUT:
INPUT :
Definition at line 175 of file elasticity.F90.
subroutine, public elasticity::elasticity_matrix_pattern | ( | type(graph), intent(inout) | g, |
type(fespacexk), intent(in) | Y, | ||
type(quadmesh), intent(in) | qdm | ||
) |
Define the sparsity pattern for elasticity matrices
It is given by the connectivity graph Dof –> Dof:
between the degrees of freedom of the space \( Y = [X_h]^d \)
where \( X_h \) is a finite element space on the mesh \( \T \) which is of dimension \( d \).
DOF_i is in relation with DOF_j if:
OUTPUT:
INPUT :
Definition at line 103 of file elasticity.F90.
subroutine, public elasticity::elasticity_neumann_rhs | ( | real(rp), dimension(:), allocatable | rhs, |
type(fespacexk), intent(in) | Y, | ||
integer, intent(in) | quad_type, | ||
procedure(r3tor) | g_1, | ||
procedure(r3tor) | g_2, | ||
procedure(r3tor), optional | g_3, | ||
procedure(r3tor), optional | f | ||
) |
L2 scalar product of a vector function \( g:~\R^3 \mapsto \R^d \) with the basis functions fo the finite element space \( Y = [X_h]^d \) on \(\Gamma_f \subset \partial\Omega\) a part of the domain boundary.
\( X_h \) is a scalar finite element space on a mesh \( \T \) with dimension \( d \). It us assumed that \( d \) =2, 3 and that \( \Omega \subset \R^d \).
INPUT:
OUTPUT:
Definition at line 886 of file elasticity.F90.
subroutine, public elasticity::elasticity_stiffmat | ( | type(csr), intent(inout) | stiff, |
procedure(r3tor) | lambda, | ||
procedure(r3tor) | mu, | ||
type(fespacexk), intent(in) | Y, | ||
type(quadmesh), intent(in) | qdm, | ||
type(graph), intent(in), optional | dofToDof | ||
) |
Assemble the stiffness matrix of the bilinear product:
\((u,v) \mapsto \int_O A(x)e(u)(x):e(v)(x) \dx~~\in \R\)
OUTPUT:
INPUT :
Definition at line 402 of file elasticity.F90.
|
private |
L2 Product of a vector function \( f:~\R^3 \mapsto \R^d\) with the basis functions of a finite element space \( Y = [X_h]^d \)..
\( X_h \) is a scalar finite element space on a mesh \( \T \) with dimension \( d \). It us assumed that \( d \) =2, 3 and that \( \Omega \subset \R^d \).
INPUT
OUTPUT:
Definition at line 786 of file elasticity.F90.