ASL 0.1.7
Advanced Simulation Library
Loading...
Searching...
No Matches
aslFDPoroElasticityBC.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 ASLFDPOROELASTICITYBC_H
25#define ASLFDPOROELASTICITYBC_H
26
27#include "aslBCond.h"
29
30namespace acl{
31 class Kernel;
32}
33
34namespace asl
35{
36 class FDPoroElasticity;
37 typedef std::shared_ptr<FDPoroElasticity> SPFDPoroElasticity;
38 class DistanceFunction;
39 typedef std::shared_ptr<DistanceFunction> SPDistanceFunction;
40 class PositionFunction;
41 typedef std::shared_ptr<PositionFunction> SPPositionFunction;
42
44
60
62
66 {
67 protected:
68 std::unique_ptr<acl::Kernel> kernel;
71 public:
76 virtual void execute();
77 virtual void init();
78 };
79
80 void addBCRigidWall(std::vector<SPNumMethod> & bcList,
82 const std::vector<SlicesNames> & sl);
83
85
88 void addBCZeroStress(std::vector<SPNumMethod> & bcList,
91
93
100 void addBCZeroStress(std::vector<SPNumMethod> & bcList,
104
105
109 void addBCRigidWallDF(std::vector<SPNumMethod> & bcList,
113
118 void addBCRigidWallDF(std::vector<SPNumMethod> & bcList,
122
123
124} //asl
125
126#endif //ASLFDPOROELASTICITYBC_H
The class represents several Element.
Bondary condition corresponding to a rigid wall ( and )
std::unique_ptr< acl::Kernel > kernel
virtual void init()
Builds the necesery internal data and kernels.
SPDistanceFunction rWall
SPFDPoroElasticity num
BCRigidWallDF(SPFDPoroElasticity nm, SPDistanceFunction rw, SPAbstractDataWithGhostNodes map)
virtual void execute()
Executes the numerical procedure.
Bondary condition corresponding to a rigid wall ( and )
virtual void init()
Builds the necesery internal data and kernels.
BCRigidWallPoroElasticity(SPFDPoroElasticity nm, acl::VectorOfElements v)
BCRigidWallPoroElasticity(SPFDPoroElasticity nm)
std::unique_ptr< acl::Kernel > kernel
virtual void execute()
Executes the numerical procedure.
Virtual class describes general interface for boundary conditions.
Definition aslBCond.h:59
Virtual class describes general interface for boundary conditions.
Definition aslBCond.h:101
SPAbstractDataWithGhostNodes map
boundary description for the particular BC
Definition aslBCond.h:111
SPDataWrapperACLData generateDataContainerACL_SP(const Block &b, unsigned int n=1)
generates pointer to ACL Data field with n components
void addBCZeroStress(std::vector< SPNumMethod > &bcList, SPFDPoroElasticity nm, SPAbstractDataWithGhostNodes map)
Bondary condition set given values to pressure.
void addBCRigidWallDF(std::vector< SPNumMethod > &bcList, SPFDPoroElasticity nm, SPDistanceFunction rw, SPAbstractDataWithGhostNodes map)
std::shared_ptr< DistanceFunction > SPDistanceFunction
Definition aslGeomInc.h:45
std::shared_ptr< PositionFunction > SPPositionFunction
Advanced Computational Language.
Definition acl.h:41
Advanced Simulation Library.
Definition aslDataInc.h:31
std::shared_ptr< AbstractDataWithGhostNodes > SPAbstractDataWithGhostNodes
std::shared_ptr< FDPoroElasticity > SPFDPoroElasticity
void addBCRigidWall(std::vector< SPNumMethod > &bcList, SPFDPoroElasticity nm, const std::vector< SlicesNames > &sl)