24 #ifndef ASLFDELASTICITYBC_H 25 #define ASLFDELASTICITYBC_H 28 #include "acl/aclMath/aclVectorOfElementsDef.h" 37 class ElasticityCommonA;
39 class FDElasticityIncompressibleStatic;
41 class FDElasticityRelaxation;
50 class BCRigidWall:
public BCond
53 std::unique_ptr<acl::Kernel> kernel;
54 SPFDElasticityIncompressibleStatic num;
56 BCRigidWall(SPFDElasticityIncompressibleStatic nm);
57 virtual void execute();
67 const std::vector<SlicesNames> & sl);
73 class BCRigidWallRelaxation:
public BCond
76 std::unique_ptr<acl::Kernel> kernel;
77 SPFDElasticityRelaxation num;
80 BCRigidWallRelaxation(SPFDElasticityRelaxation nm);
82 virtual void execute();
92 const std::vector<SlicesNames> & sl);
100 const std::vector<SlicesNames> & sl);
109 const std::vector<SlicesNames> & sl);
118 const std::vector<SlicesNames> & sl);
124 class BCFreeSurface:
public BCond
127 std::unique_ptr<acl::Kernel> kernel;
128 FDElasticityIncompressibleStatic* num;
130 BCFreeSurface(FDElasticityIncompressibleStatic* nm);
131 virtual void execute();
142 class BCFreeSurface2:
public BCond
145 std::unique_ptr<acl::Kernel> kernel;
148 BCFreeSurface2(SPFDElasticity2 nm);
150 virtual void execute();
194 class BCZeroStressMap:
public BCondWithMap
206 const VectorTemplate *
const t);
208 virtual void execute();
252 class BCImposedDisplacementVelocityValue:
public BCond
255 std::unique_ptr<acl::Kernel> kernel;
256 SPFDElasticityIncompressibleStatic num;
257 AVec<double> displacement;
259 AVec<double> velocity;
263 BCImposedDisplacementVelocityValue(SPFDElasticityIncompressibleStatic nm);
264 virtual void execute();
266 void setDisplacement(AVec<double> d);
267 void setVelocity(AVec<double> v);
274 class BCAccelerationSource2:
public BCond
277 std::unique_ptr<acl::Kernel> kernel;
282 BCAccelerationSource2(FDElasticity2* nm);
283 virtual void execute();
285 void setAcceleration(AVec<double> a);
290 #endif //ASLFDELASTICITYBC_H SPNumMethod generateBCZeroStressP(SPFDElasticityRelaxation nm, SPAbstractDataWithGhostNodes map)
Bondary condition set given values to displacement/velocity.
Advanced Simulation Library.
Advanced Computational Language.
std::shared_ptr< Kernel > SPKernel
std::shared_ptr< NumMethod > SPNumMethod
std::shared_ptr< FDElasticityIncompressibleStatic > SPFDElasticityIncompressibleStatic
std::shared_ptr< BCond > SPBCond
std::shared_ptr< ElasticityCommonA > SPElasticityCommonA
SPNumMethod generateBCZeroStress(SPElasticityCommonA nm, SPAbstractDataWithGhostNodes map)
Bondary condition set given values to displacement/velocity.
std::shared_ptr< FDElasticityRelaxation > SPFDElasticityRelaxation
std::shared_ptr< FDElasticity2 > SPFDElasticity2
The class represents several Element.
SPBCond generateBCRigidWall(SPFDElasticityRelaxation nm, const AVec<> &u0, const std::vector< SlicesNames > &sl)
Bondary condition corresponding to a rigid wall ( and )
std::shared_ptr< T > map(ElementData m)
std::shared_ptr< AbstractDataWithGhostNodes > SPAbstractDataWithGhostNodes