ASL
0.1.7
Advanced Simulation Library
src
num
aslFDPoroElasticity.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 ASLFDPOROELASTICITY_H
25
#define ASLFDPOROELASTICITY_H
26
27
#include "
aslNumMethod.h
"
28
#include "acl/aclMath/aclVectorOfElementsDef.h"
29
#include "
aslFDElasticity.h
"
30
#include "utilities/aslUValue.h"
31
32
namespace
asl
33
{
34
36
82
class
FDPoroElasticity:
public
ElasticityCommonA
83
{
84
private
:
85
Data
pressureData;
86
Data
pressureInternalData;
87
Data
pressureLiquidData;
88
Data
pressureLiquidInternalData;
89
90
Param
hydraulicCondactivity;
91
Param
compresibility;
92
Param
nSubsteps;
93
94
public
:
95
FDPoroElasticity
();
104
FDPoroElasticity
(
Data
d,
Data
pl,
Param
bM,
105
Param
sM,
Param
k,
106
const
VectorTemplate* vT);
107
~FDPoroElasticity
();
108
109
virtual
void
init
();
110
virtual
void
execute
();
111
112
inline
Data
getPressureData
()
const
;
113
inline
Data
getLiquidPressureData
()
const
;
114
116
void
setNSubsteps
(
unsigned
int
n);
117
};
118
119
typedef
std::shared_ptr<FDPoroElasticity>
SPFDPoroElasticity
;
120
129
SPFDPoroElasticity
generateFDPoroElasticity
(
SPDataWithGhostNodesACLData
d,
130
SPDataWithGhostNodesACLData
pl,
131
double
bM,
132
double
sM,
133
double
k,
134
const
VectorTemplate* vT);
135
144
template
<
typename
T>
145
SPFDPoroElasticity
generateFDPoroElasticity
(
SPDataWithGhostNodesACLData
d,
146
SPDataWithGhostNodesACLData
pl,
147
UValue<T> bM,
148
UValue<T> sM,
149
UValue<T> k,
150
const
VectorTemplate* vT);
151
152
//-------------------------IMPLEMENTATION------------------------
153
154
inline
ElasticityCommonA::Data
FDPoroElasticity::getPressureData
()
const
155
{
156
return
pressureData;
157
}
158
159
inline
ElasticityCommonA::Data
FDPoroElasticity::getLiquidPressureData
()
const
160
{
161
return
pressureLiquidData;
162
}
163
164
}
// asl
165
#endif // ASLFDELASTICITY_H
asl::FDPoroElasticity::execute
virtual void execute()
Executes the numerical procedure.
asl::SPFDPoroElasticity
std::shared_ptr< FDPoroElasticity > SPFDPoroElasticity
Definition:
aslFDPoroElasticity.h:119
asl::SPDataWithGhostNodesACLData
std::shared_ptr< DataWithGhostNodesACLData > SPDataWithGhostNodesACLData
Definition:
aslGenerators.h:47
asl::FDPoroElasticity::FDPoroElasticity
FDPoroElasticity()
asl::FDPoroElasticity::getLiquidPressureData
Data getLiquidPressureData() const
Definition:
aslFDPoroElasticity.h:159
asl::UValue< FlT >
aslNumMethod.h
asl::FDPoroElasticity::init
virtual void init()
Builds the necesery internal data and kernels.
asl::FDPoroElasticity::setNSubsteps
void setNSubsteps(unsigned int n)
defaul value 10
asl::FDPoroElasticity::~FDPoroElasticity
~FDPoroElasticity()
asl::generateFDPoroElasticity
SPFDPoroElasticity generateFDPoroElasticity(SPDataWithGhostNodesACLData d, SPDataWithGhostNodesACLData pl, double bM, double sM, double k, const VectorTemplate *vT)
asl::FDPoroElasticity::getPressureData
Data getPressureData() const
Definition:
aslFDPoroElasticity.h:154
asl::ElasticityCommonA::Data
SPDataWithGhostNodesACLData Data
Definition:
aslFDElasticity.h:57
aslFDElasticity.h
asl
Advanced Simulation Library.
Definition:
aslDataInc.h:30
Generated by
1.8.16