ASL 0.1.7
Advanced Simulation Library
Loading...
Searching...
No Matches
aslFDElasticityBC.h
Go to the documentation of this file.
1/*
2 * Advanced Simulation Library <http://asl.org.il>
3 *
4 * Copyright 2015 Avtech Scientific <http://avtechscientific.com>
5 *
6 *
7 * This file is part of Advanced Simulation Library (ASL).
8 *
9 * ASL is free software: you can redistribute it and/or modify it
10 * under the terms of the GNU Affero General Public License as
11 * published by the Free Software Foundation, version 3 of the License.
12 *
13 * ASL is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Affero General Public License for more details.
17 *
18 * You should have received a copy of the GNU Affero General Public License
19 * along with ASL. If not, see <http://www.gnu.org/licenses/>.
20 *
21 */
22
23
24#ifndef ASLFDELASTICITYBC_H
25#define ASLFDELASTICITYBC_H
26
27#include "aslBCond.h"
29
30namespace acl{
31 class Kernel;
32 typedef std::shared_ptr<Kernel> SPKernel;
33}
34
35namespace asl
36{
37 class ElasticityCommonA;
38 typedef std::shared_ptr<ElasticityCommonA> SPElasticityCommonA;
40 typedef std::shared_ptr<FDElasticityIncompressibleStatic> SPFDElasticityIncompressibleStatic;
42 typedef std::shared_ptr<FDElasticityRelaxation> SPFDElasticityRelaxation;
43 class FDElasticity2;
44 typedef std::shared_ptr<FDElasticity2> SPFDElasticity2;
45
47
50 class BCRigidWall:public BCond
51 {
52 protected:
53 std::unique_ptr<acl::Kernel> kernel;
55 public:
57 virtual void execute();
58 virtual void init();
59 };
60
62
67 const std::vector<SlicesNames> & sl);
68
70
85
87
92 const std::vector<SlicesNames> & sl);
93
95
100 const std::vector<SlicesNames> & sl);
101
103
108 const AVec<> & u0,
109 const std::vector<SlicesNames> & sl);
110
112
117 const AVec<> & u0,
118 const std::vector<SlicesNames> & sl);
119
121
124 class BCFreeSurface:public BCond
125 {
126 protected:
127 std::unique_ptr<acl::Kernel> kernel;
129 public:
131 virtual void execute();
132 virtual void init();
133 };
134
136
143 {
144 protected:
145 std::unique_ptr<acl::Kernel> kernel;
147 public:
150 virtual void execute();
151 virtual void init();
152 };
153
155
211
213
218
219
221
224// SPNumMethod generateBCZeroStress(SPFDElasticityIncompressibleStatic nm,
225// SPAbstractDataWithGhostNodes map);
226
228
231// SPNumMethod generateBCZeroStress(SPFDElasticityRelaxation nm,
232// SPAbstractDataWithGhostNodes map);
233
235
240
242
247
249
269
271
275 {
276 protected:
277 std::unique_ptr<acl::Kernel> kernel;
281 public:
283 virtual void execute();
284 virtual void init();
286 };
287
288} //asl
289
290#endif //ASLFDELASTICITYBC_H
The class represents several Element.
Bondary condition local force(acceleration)
virtual void execute()
Executes the numerical procedure.
acl::VectorOfElements acceleration
virtual void init()
Builds the necesery internal data and kernels.
BCAccelerationSource2(FDElasticity2 *nm)
void setAcceleration(AVec< double > a)
std::unique_ptr< acl::Kernel > kernel
Bondary condition corresponding to a free surface ( )
std::unique_ptr< acl::Kernel > kernel
virtual void execute()
Executes the numerical procedure.
BCFreeSurface2(SPFDElasticity2 nm)
virtual void init()
Builds the necesery internal data and kernels.
Bondary condition corresponding to a free surface ( and )
virtual void execute()
Executes the numerical procedure.
FDElasticityIncompressibleStatic * num
BCFreeSurface(FDElasticityIncompressibleStatic *nm)
std::unique_ptr< acl::Kernel > kernel
virtual void init()
Builds the necesery internal data and kernels.
Bondary condition set given values to displacement/velocity.
std::unique_ptr< acl::Kernel > kernel
virtual void init()
Builds the necesery internal data and kernels.
void setDisplacement(AVec< double > d)
BCImposedDisplacementVelocityValue(SPFDElasticityIncompressibleStatic nm)
SPFDElasticityIncompressibleStatic num
virtual void execute()
Executes the numerical procedure.
Bondary condition corresponding to a rigid wall ( and )
SPFDElasticityIncompressibleStatic num
BCRigidWall(SPFDElasticityIncompressibleStatic nm)
std::unique_ptr< acl::Kernel > kernel
virtual void execute()
Executes the numerical procedure.
virtual void init()
Builds the necesery internal data and kernels.
Bondary condition corresponding to a rigid wall ( and )
acl::VectorOfElements value
BCRigidWallRelaxation(SPFDElasticityRelaxation nm, acl::VectorOfElements v)
std::unique_ptr< acl::Kernel > kernel
SPFDElasticityRelaxation num
virtual void execute()
Executes the numerical procedure.
virtual void init()
Builds the necesery internal data and kernels.
BCRigidWallRelaxation(SPFDElasticityRelaxation nm)
Bondary condition corresponding to a free surface.
SPAbstractDataWithGhostNodes displacement
acl::VectorOfElements lambda
BCZeroStressMap(SPAbstractDataWithGhostNodes displacement, acl::VectorOfElements lambda, acl::VectorOfElements mu, SPAbstractDataWithGhostNodes map, const VectorTemplate *const t)
acl::VectorOfElements mu
virtual void execute()
Executes the numerical procedure.
virtual void init()
Builds the necesery internal data and kernels.
Virtual class describes general interface for boundary conditions.
Definition aslBCond.h:59
Virtual class describes general interface for boundary conditions.
Definition aslBCond.h:101
Numerical method which computes homogenious isotropic elasticity equation.
Numerical method which computes homogenious isotropic elasticity equation.
Numerical method which computes homogenious isotropic elasticity equation.
Defines set of vectros with several properties.
SPDataWrapperACLData generateDataContainerACL_SP(const Block &b, unsigned int n=1)
generates pointer to ACL Data field with n components
SPNumMethod generateBCZeroStressP(SPFDElasticityIncompressibleStatic nm, SPAbstractDataWithGhostNodes map)
Bondary condition set given values to displacement/velocity.
SPNumMethod generateBCZeroStress(SPElasticityCommonA nm, SPAbstractDataWithGhostNodes map)
Bondary condition set given values to displacement/velocity.
Advanced Computational Language.
Definition acl.h:41
std::shared_ptr< Kernel > SPKernel
Advanced Simulation Library.
Definition aslDataInc.h:31
std::shared_ptr< ElasticityCommonA > SPElasticityCommonA
SPBCond generateBCRigidWall(SPFDElasticityIncompressibleStatic nm, const std::vector< SlicesNames > &sl)
Bondary condition corresponding to a rigid wall ( and )
std::shared_ptr< BCond > SPBCond
Definition aslBCond.h:88
std::shared_ptr< FDElasticity2 > SPFDElasticity2
std::shared_ptr< AbstractDataWithGhostNodes > SPAbstractDataWithGhostNodes
std::shared_ptr< FDElasticityIncompressibleStatic > SPFDElasticityIncompressibleStatic
std::shared_ptr< NumMethod > SPNumMethod
std::shared_ptr< FDElasticityRelaxation > SPFDElasticityRelaxation