asl::BCZeroStressMap Class Reference
Physics » Elasticity | Numerics » Boundary Conditions » Elasticity Boundary Conditions

Bondary condition corresponding to a free surface. More...

`#include <aslFDElasticityBC.h>`

Inheritance diagram for asl::BCZeroStressMap:
[legend]
Collaboration diagram for asl::BCZeroStressMap:
[legend]

## 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...
| 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...
Public Member Functions inherited from asl::BCondWithMap
const VectorTemplate * | getVT ()
const VectorTemplate * | getVT ()
Public Member Functions inherited from asl::NumMethod
virtual | ~NumMethod ()
virtual | ~NumMethod ()

## Protected Attributes

SPAbstractDataWithGhostNodes | displacement
acl::VectorOfElements | lambda
acl::VectorOfElements | mu
acl::SPKernel | kernel
Protected Attributes inherited from asl::BCondWithMap
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

Protected Member Functions inherited from asl::BCondWithMap
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)
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)

## Detailed Description

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.

## Constructor & Destructor Documentation

## BCZeroStressMap() [1/2]

asl::BCZeroStressMap::BCZeroStressMap | ( | SPAbstractDataWithGhostNodes | displacement,
|  | acl::VectorOfElements | lambda,
|  | acl::VectorOfElements | mu,
|  | SPAbstractDataWithGhostNodes | map,
|  | const VectorTemplate *const | t
| ) |  |

## ~BCZeroStressMap() [1/2]

asl::BCZeroStressMap::~BCZeroStressMap | ( |  | ) |

## BCZeroStressMap() [2/2]

asl::BCZeroStressMap::BCZeroStressMap | ( | SPAbstractDataWithGhostNodes | displacement,
|  | acl::VectorOfElements | lambda,
|  | acl::VectorOfElements | mu,
|  | SPAbstractDataWithGhostNodes | map,
|  | const VectorTemplate *const | t
| ) |  |

## ~BCZeroStressMap() [2/2]

asl::BCZeroStressMap::~BCZeroStressMap | ( |  | ) |

## Member Function Documentation

## execute() [1/2]

virtual void asl::BCZeroStressMap::execute | ( |  | ) |

virtual

Executes the numerical procedure.

Implements asl::NumMethod.

## execute() [2/2]

virtual void asl::BCZeroStressMap::execute | ( |  | ) |

virtual

Executes the numerical procedure.

Implements asl::NumMethod.

## init() [1/2]

virtual void asl::BCZeroStressMap::init | ( |  | ) |

virtual

Builds the necesery internal data and kernels.

Implements asl::NumMethod.

## init() [2/2]

virtual void asl::BCZeroStressMap::init | ( |  | ) |

virtual

Builds the necesery internal data and kernels.

Implements asl::NumMethod.

## Member Data Documentation

## displacement

SPAbstractDataWithGhostNodes asl::BCZeroStressMap::displacement

protected

Definition at line 197 of file aslFDElasticityBC.h.

## kernel

acl::SPKernel asl::BCZeroStressMap::kernel

protected

Definition at line 200 of file aslFDElasticityBC.h.

## lambda

acl::VectorOfElements asl::BCZeroStressMap::lambda

protected

Definition at line 198 of file aslFDElasticityBC.h.

## mu

acl::VectorOfElements asl::BCZeroStressMap::mu

protected

Definition at line 199 of file aslFDElasticityBC.h.

The documentation for this class was generated from the following file:

- /build/asl-1Fw6fH/asl-0.1.7/debian/tmp/usr/include/ASL/num/aslFDElasticityBC.h