ASL 0.1.7
Advanced Simulation Library
Loading...
Searching...
No Matches
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"
29#include "aslFDElasticity.h"
30#include "utilities/aslUValue.h"
31
32namespace asl
33{
34
36
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:
105 Param sM, Param k,
106 const VectorTemplate* vT);
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
131 double bM,
132 double sM,
133 double k,
134 const VectorTemplate* vT);
135
144 template <typename T>
147 UValue<T> bM,
149 UValue<T> k,
150 const VectorTemplate* vT);
151
152//-------------------------IMPLEMENTATION------------------------
153
155 {
156 return pressureData;
157 }
158
160 {
161 return pressureLiquidData;
162 }
163
164} // asl
165#endif // ASLFDELASTICITY_H
The class represents several Element.
abstract class for elasticity solver
SPDataWithGhostNodesACLData Data
Numerical method which computes homogenious isotropic poro-elasticity equation.
virtual void init()
Builds the necesery internal data and kernels.
void setNSubsteps(unsigned int n)
defaul value 10
virtual void execute()
Executes the numerical procedure.
FDPoroElasticity(Data d, Data pl, Param bM, Param sM, Param k, const VectorTemplate *vT)
Updatable value. This class stores value and its TimeStamp.
Definition aslUValue.h:35
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
Advanced Simulation Library.
Definition aslDataInc.h:31
std::shared_ptr< FDPoroElasticity > SPFDPoroElasticity
SPFDPoroElasticity generateFDPoroElasticity(SPDataWithGhostNodesACLData d, SPDataWithGhostNodesACLData pl, double bM, double sM, double k, const VectorTemplate *vT)
std::shared_ptr< DataWithGhostNodesACLData > SPDataWithGhostNodesACLData