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. More... | |
virtual void | init () |
Builds the necesery internal data and kernels. More... | |
![]() | |
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 More... | |
acl::VectorOfElements | currentPoint |
const VectorTemplate *const | templ |
Block | bl |
block More... | |
SPAbstractDataWithGhostNodes | map |
boundary description for the particular BC More... | |
SPDistanceFunction | mapDF |
SPAbstractDataWithGhostNodes | computationalDomain |
Computational domain which contains all boundaries and the particular boundary as well. More... | |
SPDistanceFunction | computationalDomainDF |
unique_ptr< TemplateVE > | mapTVE |
unique_ptr< TemplateVE > | cDomainTVE |
Additional Inherited Members | |
![]() | |
virtual void | initMapInfrastructure (acl::ExpressionContainer &ec) |
initialize mapTVE and cDomainTVE More... | |
acl::VectorOfElements | isGhostNode (unsigned int i) |
returns expression corresponding to check if the node in i^th direction is ghost one More... | |
acl::VectorOfElements | isComputationNode (unsigned int i) |
returns expression corresponding to check if the node in i^th direction is computation one More... | |
acl::VectorOfElements | isComputationNode (const vector< unsigned int > &ii) |
returns expression corresponding to check if nodes in directions ii are computation ones More... | |
acl::VectorOfElements | isGhostNode () |
returns expression corresponding to check if the current node is ghost one More... | |
acl::VectorOfElements | isComputationNode () |
returns expression corresponding to check if the current node is computation one More... | |
BCondWithMap (SPAbstractDataWithGhostNodes m, const VectorTemplate *const vt) | |
BCondWithMap (SPDistanceFunction m, const Block &b, const VectorTemplate *const vt) | |
BCondWithMap (SPAbstractDataWithGhostNodes m, SPAbstractDataWithGhostNodes cd, const VectorTemplate *const vt) | |
BCondWithMap (SPAbstractDataWithGhostNodes m, SPDistanceFunction cd, const VectorTemplate *const vt) | |
BCondWithMap (SPDistanceFunction m, SPDistanceFunction cd, const Block &b, const VectorTemplate *const vt) | |
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 | ( | ) |
|
virtual |
Executes the numerical procedure.
Implements asl::NumMethod.
|
virtual |
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.