ASL 0.1.7
Advanced Simulation Library
|
Bondary condition corresponding to a free surface. More...
#include <aslFDElasticityBC.h>
Public Member Functions | |
BCZeroStressMap (SPAbstractDataWithGhostNodes displacement, acl::VectorOfElements lambda, acl::VectorOfElements mu, SPAbstractDataWithGhostNodes map, const VectorTemplate *const t) | |
~BCZeroStressMap () | |
virtual void | execute () |
Executes the numerical procedure. | |
virtual void | init () |
Builds the necesery internal data and kernels. | |
![]() | |
const VectorTemplate * | getVT () |
![]() | |
virtual | ~NumMethod () |
Protected Attributes | |
SPAbstractDataWithGhostNodes | displacement |
acl::VectorOfElements | lambda |
acl::VectorOfElements | mu |
acl::SPKernel | kernel |
![]() | |
bool | pointsListFlag |
flag whether the point list to be generated or not | |
acl::VectorOfElements | currentPoint |
const VectorTemplate *const | templ |
Block | bl |
block | |
SPAbstractDataWithGhostNodes | map |
boundary description for the particular BC | |
SPDistanceFunction | mapDF |
SPAbstractDataWithGhostNodes | computationalDomain |
Computational domain which contains all boundaries and the particular boundary as well. | |
SPDistanceFunction | computationalDomainDF |
unique_ptr< TemplateVE > | mapTVE |
unique_ptr< TemplateVE > | cDomainTVE |
Bondary condition corresponding to a free surface.
The class is a realisation of 1st order explicit free boundary conditions for rectangular grid and arbitrary geometry. The geometry is defined by a levelset The algorithm computes value in a ghost node. This is done by cell subdivision. The unit cell containing the ghost node in the center. It is splited into elementary cells the spliting is described by the corresponding VTObjects.
The gradient in the elementary cells is computed by the following expression:
\[ \nabla_i u_j = (u^k_j - u^0_j E_k) T_{ki}, \]
where \( u^k_j\) is the \( k^{th}\) point of the elementary cell, \( E_k \) is the vector filled by 1 and \( T_{ki} \) is the baricentric coordinates transformation matrix.
The free boundary condition has the following expression:
\[ \lambda n_i\nabla_k u_k+\mu n_j \left( \nabla_i u_j + \nabla_j u_i \right) = F_i, \]
where \( \lambda \) is a Lame first parameter, \( \mu \) is shear modulus. This expression can be rewriten in terms of the elementary cell expresion:
\[ \lambda n_i(u^k_j - u^0_j E_k) T_{kj} + \mu n_j \left( (u^k_j - u^0_j E_k) T_{ki} + (u^k_i - u^0_i E_k) T_{kj} \right) = F_i, \]
This equation can be rewritten in form of \( A_{ij} u^0_j = b_i \):
\[ A_{ij}=\lambda n_i E_kT_{kj} + \mu n_j E_k T_{ki} + \mu n_l E_k T_{kl} \delta_{ij}, \]
\[ b_i = \lambda n_i u^k_j T_{kj} + \mu n_j (u^k_j T_{ki}+ u^k_i T_{kj}) - F_i. \]
The solution of the system of equations is the seeking boundary condition.
The class should obtain list of the ghost points
Definition at line 194 of file aslFDElasticityBC.h.
asl::BCZeroStressMap::BCZeroStressMap | ( | SPAbstractDataWithGhostNodes | displacement, |
acl::VectorOfElements | lambda, | ||
acl::VectorOfElements | mu, | ||
SPAbstractDataWithGhostNodes | map, | ||
const VectorTemplate *const | t | ||
) |
asl::BCZeroStressMap::~BCZeroStressMap | ( | ) |
Executes the numerical procedure.
Implements asl::NumMethod.
Builds the necesery internal data and kernels.
Implements asl::NumMethod.
|
protected |
Definition at line 197 of file aslFDElasticityBC.h.
|
protected |
Definition at line 200 of file aslFDElasticityBC.h.
|
protected |
Definition at line 198 of file aslFDElasticityBC.h.
|
protected |
Definition at line 199 of file aslFDElasticityBC.h.