ASL 0.1.7
Advanced Simulation Library
Loading...
Searching...
No Matches
asl::FDElasticityIncompressibleStatic Class Reference

Numerical method which computes homogenious isotropic elasticity equation. More...

#include <aslFDElasticity.h>

Inheritance diagram for asl::FDElasticityIncompressibleStatic:
Collaboration diagram for asl::FDElasticityIncompressibleStatic:

Public Member Functions

 FDElasticityIncompressibleStatic ()
 FDElasticityIncompressibleStatic (Data d, Param bM, Param sM, const VectorTemplate *vT)
 ~FDElasticityIncompressibleStatic ()
virtual void init ()
 Builds the necesery internal data and kernels.
virtual void execute ()
 Executes the numerical procedure.
Data getPressureData () const
 FDElasticityIncompressibleStatic ()
 FDElasticityIncompressibleStatic (Data d, Param bM, Param sM, const VectorTemplate *vT)
 ~FDElasticityIncompressibleStatic ()
virtual void init ()
 Builds the necesery internal data and kernels.
virtual void execute ()
 Executes the numerical procedure.
Data getPressureData () const
Public Member Functions inherited from asl::ElasticityCommonA
 ElasticityCommonA ()
 ElasticityCommonA (Data d, Param bM, Param sM, const VectorTemplate *vT)
 ~ElasticityCommonA ()
void setVectorTemplate (const VectorTemplate *vT)
VectorTemplate getVectorTemplate ()
void setForce (Param f)
Data getDisplacementData () const
Data getDisplacementInternalData () const
const Param getBulkModulus () const
const Param getShearModulus () const
 ElasticityCommonA ()
 ElasticityCommonA (Data d, Param bM, Param sM, const VectorTemplate *vT)
 ~ElasticityCommonA ()
void setVectorTemplate (const VectorTemplate *vT)
VectorTemplate getVectorTemplate ()
void setForce (Param f)
Data getDisplacementData () const
Data getDisplacementInternalData () const
const Param getBulkModulus () const
const Param getShearModulus () const
Public Member Functions inherited from asl::NumMethod
virtual ~NumMethod ()
virtual ~NumMethod ()

Additional Inherited Members

Public Types inherited from asl::ElasticityCommonA
typedef SPDataWithGhostNodesACLData Data
typedef acl::VectorOfElements Param
typedef SPDataWithGhostNodesACLData Data
typedef acl::VectorOfElements Param
Public Attributes inherited from asl::ElasticityCommonA
const VectorTemplatevectorTemplate
Protected Attributes inherited from asl::ElasticityCommonA
std::unique_ptr< acl::Kernelkernel
Data displacementData
Data displacementInternalData
Param bulkModulus
Param shearModulus
Param force

Detailed Description

Numerical method which computes homogenious isotropic elasticity equation.

\[ \rho\ddot u_j =(K+\mu/3)\nabla_j \nabla_k u_k+ \mu \Delta u_j \]

where

  • \(K\) is the bulk modulus,
  • \(\mu\) is the shear modulus,
  • \(\vec u\) is a displacement vector field

This implementation is aided to improve stability for incompressible materials. Let us reformulate the elasticity equation by the following way:

\[ \rho\ddot u_j =\mu (\Delta u_j - \nabla_j p), \]

\[ p = -\frac{K+\mu/3}{\mu} \nabla_k u_k. \]

The second equation leads to an instability for low values of the Poisson ration (for nearly incompressible materials). Therefore the last equation we would like to replace by a relaxation one:

\[ \dot p = - w\left( \frac{K+\mu/3}{\mu} \nabla_k u_k + p\right), \]

where \( w \) is a relaxation parameter.

Definition at line 98 of file aslFDElasticity.h.

Constructor & Destructor Documentation

◆ FDElasticityIncompressibleStatic() [1/4]

asl::FDElasticityIncompressibleStatic::FDElasticityIncompressibleStatic ( )

◆ FDElasticityIncompressibleStatic() [2/4]

asl::FDElasticityIncompressibleStatic::FDElasticityIncompressibleStatic ( Data d,
Param bM,
Param sM,
const VectorTemplate * vT )
Parameters
dis a displacement field
bMis the bulk modulus
sMis the shear modulus
vTis a vector template

◆ ~FDElasticityIncompressibleStatic() [1/2]

asl::FDElasticityIncompressibleStatic::~FDElasticityIncompressibleStatic ( )

◆ FDElasticityIncompressibleStatic() [3/4]

asl::FDElasticityIncompressibleStatic::FDElasticityIncompressibleStatic ( )

◆ FDElasticityIncompressibleStatic() [4/4]

asl::FDElasticityIncompressibleStatic::FDElasticityIncompressibleStatic ( Data d,
Param bM,
Param sM,
const VectorTemplate * vT )
Parameters
dis a displacement field
bMis the bulk modulus
sMis the shear modulus
vTis a vector template

◆ ~FDElasticityIncompressibleStatic() [2/2]

asl::FDElasticityIncompressibleStatic::~FDElasticityIncompressibleStatic ( )

Member Function Documentation

◆ execute() [1/2]

virtual void asl::FDElasticityIncompressibleStatic::execute ( )
virtual

Executes the numerical procedure.

Implements asl::ElasticityCommonA.

◆ execute() [2/2]

virtual void asl::FDElasticityIncompressibleStatic::execute ( )
virtual

Executes the numerical procedure.

Implements asl::ElasticityCommonA.

◆ getPressureData() [1/2]

ElasticityCommonA::Data asl::FDElasticityIncompressibleStatic::getPressureData ( ) const
inline

Definition at line 244 of file aslFDElasticity.h.

◆ getPressureData() [2/2]

Data asl::FDElasticityIncompressibleStatic::getPressureData ( ) const
inline

◆ init() [1/2]

virtual void asl::FDElasticityIncompressibleStatic::init ( )
virtual

Builds the necesery internal data and kernels.

Implements asl::ElasticityCommonA.

◆ init() [2/2]

virtual void asl::FDElasticityIncompressibleStatic::init ( )
virtual

Builds the necesery internal data and kernels.

Implements asl::ElasticityCommonA.


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