|
typedef OperatorApplier< Dune::InverseOperator< Vector, Vector > > | InverseApplier |
|
typedef OperatorApplier< Dune::Preconditioner< Vector, Vector > > | PreApplier |
|
typedef Dune::MatrixAdapter< Matrix, Vector, Vector > | Operator |
| A linear operator. More...
|
|
typedef Dune::SeqSSOR< Matrix, Vector, Vector > | SSORSmoother |
| SSOR AMG smoother. More...
|
|
typedef Dune::SeqJac< Matrix, Vector, Vector > | JACSmoother |
| GJ AMG smoother. More...
|
|
typedef Dune::SeqILU< Matrix, Vector, Vector > | ILUSmoother |
| ILU0 AMG smoother. More...
|
|
typedef Dune::SeqOverlappingSchwarz< Matrix, Vector, Dune::SymmetricMultiplicativeSchwarzMode, LUSolver > | SchwarzSmoother |
| Schwarz + ILU0 AMG smoother. More...
|
|
typedef Dune::BCRSMatrix< Dune::FieldMatrix< double, 1, 1 > > | Matrix |
| A sparse matrix holding our operator. More...
|
|
typedef std::vector< std::set< int > > | AdjacencyPattern |
| For storing matrix adjacency/sparsity patterns. More...
|
|
typedef Dune::BlockVector< Dune::FieldVector< double, 1 > > | Vector |
| A vector holding our RHS. More...
|
|
typedef std::set< MPC *, MPC::Less > | MPCSet |
| A set of MPCs. More...
|
|
typedef std::map< int, MPC * > | MPCMap |
| A mapping from dof to MPCs. More...
|
|
|
enum | Solver { DIRECT
, ITERATIVE
} |
| An enumeration of available linear solver classes. More...
|
|
enum | Preconditioner {
AMG
, FASTAMG
, SCHWARZ
, TWOLEVEL
,
UNDETERMINED
} |
|
enum | MultiplierPreconditioner {
SIMPLE
, SCHUR
, SCHURAMG
, SCHURSCHWARZ
,
SCHURTWOLEVEL
} |
| An enumeration of the available preconditioners for multiplier block. More...
|
|
enum | Smoother { SMOOTH_SSOR = 0
, SMOOTH_SCHWARZ = 1
, SMOOTH_JACOBI = 2
, SMOOTH_ILU = 4
} |
| Smoother used in the AMG. More...
|
|
enum | Direction {
NONE = 0
, X = 1
, Y = 2
, Z = 4
,
XY = 1+2
, XZ = 1+4
, YZ = 2+4
, XYZ = 1+2+4
} |
| An enum for specification of global coordinate directions. More...
|
|
|
BoundaryGrid::Vertex | minXminY (std::vector< BoundaryGrid::Vertex > &in) |
| Find the vertex in the vector with minimum X and minimum Y. More...
|
|
BoundaryGrid::Vertex | maxXminY (std::vector< BoundaryGrid::Vertex > &in) |
| Find the vertex in the vector with maximum X and minimum Y. More...
|
|
BoundaryGrid::Vertex | maxXmaxY (std::vector< BoundaryGrid::Vertex > &in) |
| Find the vertex in the vector with maximum X and maximum Y. More...
|
|
BoundaryGrid::Vertex | minXmaxY (std::vector< BoundaryGrid::Vertex > &in) |
| Find the vertex in the vector with minimum X and maximum Y. More...
|
|
Dune::FieldVector< double, 3 > | waveSpeeds (const Dune::FieldMatrix< double, 6, 6 > &C, double phi, double theta, double density) |
| Compute the elastic wave velocities. More...
|
|
| IMPL_FUNC (std::vector< BoundaryGrid::Vertex >, extractFace(Direction dir, ctype coord)) |
|
| IMPL_FUNC (BoundaryGrid, extractMasterFace(Direction dir, ctype coord, SIDE side, bool dc)) |
|
master | push_back (extractMasterFace(Y, min[1])) |
|
master | push_back (extractMasterFace(Z, min[2])) |
|
slave | push_back (extractFace(X, max[0])) |
|
slave | push_back (extractFace(Y, max[1])) |
|
slave | push_back (extractFace(Z, max[2])) |
|
| for (LeafVertexIterator it=start;it !=itend;++it) |
|
| IMPL_FUNC (void, addMPC(Direction dir, int slavenode, const BoundaryGrid::Vertex &m)) |
|
| IMPL_FUNC (void, periodicPlane(Direction, Direction, const std::vector< BoundaryGrid::Vertex > &slavepointgrid, const BoundaryGrid &mastergrid)) |
|
static std::vector< std::vector< int > > | renumber (const BoundaryGrid &b, int n1, int n2, int &totalDOFs) |
| Static helper to renumber a Q4 mesh to a P_1/P_N lag mesh. More...
|
|
| IMPL_FUNC (int, addBBlockMortar(const BoundaryGrid &b1, const BoundaryGrid &interface, int, int n1, int n2, int colofs)) |
|
| IMPL_FUNC (void, assembleBBlockMortar(const BoundaryGrid &b1, const BoundaryGrid &interface, int dir, int n1, int n2, int colofs, double alpha)) |
|
| IMPL_FUNC (void, fixPoint(Direction dir, GlobalCoordinate coord, const NodeValue &value)) |
|
| IMPL_FUNC (bool, isOnPlane(Direction plane, GlobalCoordinate coord, ctype value)) |
|
| IMPL_FUNC (void, fixLine(Direction dir, ctype x, ctype y, const NodeValue &value)) |
|
| IMPL_FUNC (bool, isOnLine(Direction dir, GlobalCoordinate coord, ctype x, ctype y)) |
|
| IMPL_FUNC (bool, isOnPoint(GlobalCoordinate coord, GlobalCoordinate point)) |
|
| if (loadcase > -1) |
|
| if (matrix) A.getOperator()=0 |
|
| for (int i=0;i< 2;++i) |
|
| IMPL_FUNC (template< int comp > void, averageStress(Dune::FieldVector< ctype, comp > &sigma, const Vector &uarg, int loadcase)) |
|
| if (file=="uniform") |
|
| if (deck.hasKeyword("YOUNGMOD") &&deck.hasKeyword("POISSONMOD")) |
|
else | if (deck.hasKeyword("LAMEMOD") &&deck.hasKeyword("SHEARMOD")) |
|
else | if (deck.hasKeyword("BULKMOD") &&deck.hasKeyword("SHEARMOD")) |
|
else | if (deck.hasKeyword("PERMX") &&deck.hasKeyword("PORO")) |
|
| exit (1) |
|
| if (deck.hasKeyword("SATNUM")) satnum |
|
| if (deck.hasKeyword("RHO")) rho |
|
| if (Escale > 0) |
|
| if (satnum.empty()) |
|
| if (upscaledRho > 0) |
|
| IMPL_FUNC (void, loadMaterialsFromRocklist(const std::string &file, const std::string &rocklist)) |
|
| determineSideFaces (min, max) |
|
static std::cout<< "Xslave "<< slave[0].size()<< " "<< "Yslave "<< slave[1].size()<< " "<< "Zslave "<< slave[2].size()<< std::endl;std::cout<< "Xmaster "<< master[0].size()<< " "<< "Ymaster "<< master[1].size()<< " "<< "Zmaster "<< master[2].size()<< std::endl;periodicPlane(X, XYZ, slave[0], master[0]);periodicPlane(Y, XYZ, slave[1], master[1]);periodicPlane(Z, XYZ, slave[2], master[2]);}IMPL_FUNC(void, periodicBCsMortar(const double *min, const double *max, int n1, int n2, int p1, int p2)){ fixCorners(min, max);std::cout<< "\textracting nodes on top face..."<< std::endl;slave.push_back(extractFace(Z, max[2]));std::cout<< "\treconstructing bottom face..."<< std::endl;BoundaryGrid bottom=extractMasterFace(Z, min[2]);std::cout<< "\testablishing couplings on top/bottom..."<< std::endl;periodicPlane(Z, XYZ, slave[0], bottom);std::cout<< "\tinitializing matrix..."<< std::endl;A.initForAssembly();std::cout<< "\treconstructing left face..."<< std::endl;master.push_back(extractMasterFace(X, min[0], LEFT, true));std::cout<< "\treconstructing right face..."<< std::endl;master.push_back(extractMasterFace(X, max[0], RIGHT, true));std::cout<< "\treconstructing front face..."<< std::endl;master.push_back(extractMasterFace(Y, min[1], LEFT, true));std::cout<< "\treconstructing back face..."<< std::endl;master.push_back(extractMasterFace(Y, max[1], RIGHT, true));std::cout<< "\testablished YZ multiplier grid with "<< n2<< "x1"<< " elements"<< std::endl;BoundaryGrid::FaceCoord fmin, fmax;fmin[0]=min[1];fmin[1]=min[2];fmax[0]=max[1];fmax[1]=max[2];BoundaryGrid lambdax=BoundaryGrid::uniform(fmin, fmax, n2, 1, true);fmin[0]=min[0];fmin[1]=min[2];fmax[0]=max[0];fmax[1]=max[2];std::cout<< "\testablished XZ multiplier grid with "<< n1<< "x1"<< " elements"<< std::endl;BoundaryGrid lambday=BoundaryGrid::uniform(fmin, fmax, n1, 1, true);addBBlockMortar(master[0], lambdax, 0, 1, p2, 0);int eqns=addBBlockMortar(master[1], lambdax, 0, 1, p2, 0);addBBlockMortar(master[2], lambday, 1, 1, p1, eqns);int eqns2=addBBlockMortar(master[3], lambday, 1, 1, p1, eqns);MatrixOps::fromAdjacency(B, Bpatt, A.getEqns(), eqns+eqns2);Bpatt.clear();std::cout<< "\tassembling YZ mortar matrix..."<< std::endl;assembleBBlockMortar(master[0], lambdax, 0, 1, p2, 0);assembleBBlockMortar(master[1], lambdax, 0, 1, p2, 0, -1.0);std::cout<< "\tassembling XZ mortar matrix..."<< std::endl;assembleBBlockMortar(master[2], lambday, 1, 1, p1, eqns);assembleBBlockMortar(master[3], lambday, 1, 1, p1, eqns, -1.0);master.clear();slave.clear();} template< class M, class A > void | applyMortarBlock (int i, const Matrix &B, M &T, A &upre) |
|
| if (params.type==ITERATIVE) |
|
std::cerr<< "No direct solver available"<< std::endl;exit(1);siz=A.getOperator().N();} for(int i=0;i< 6;++i) b[i].resize(siz);}{ try { Dune::InverseOperatorResult r;u[loadcase].resize(b[loadcase].size());u[loadcase]=0;int solver=0;tsolver[solver]-> | apply (u[loadcase], b[loadcase], r) |
|
|
| min [0] = min[1] = min[2] = 1e5 |
|
const LeafVertexIterator | itend = gv.leafGridView().template end<dim>() |
|
LeafVertexIterator | start = gv.leafGridView().template begin<dim>() |
|
static const int | bfunc = 4+(dim-2)*4 |
|
Dune::FieldVector< ctype, comp > | eps0 = 0 |
|
MaterialMap | cache |
|
std::vector< double > | Emod |
|
std::vector< double > | Poiss |
|
std::vector< int > | satnum |
|
std::vector< double > | rho |
|
| upscaledRho = -1 |
|
| else |
|
auto | deck = parser.parseFile(file) |
|
std::vector< int > | cells = gv.globalCell() |
|
int | j =0 |
|
std::map< Material *, double > | volume |
|
std::cout<< "Number of materials: "<< cache.size()<< std::endl;double totalvolume=0;for(std::map< Material *, double >::iterator it=volume.begin();it !=volume.end();++it) totalvolume+=it-> | second |
|
int | numsolvers = 1 |
|
◆ AdjacencyPattern
For storing matrix adjacency/sparsity patterns.
◆ ILUSmoother
◆ InverseApplier
◆ JACSmoother
◆ Matrix
A sparse matrix holding our operator.
◆ MPCMap
A mapping from dof to MPCs.
◆ MPCSet
◆ Operator
◆ PreApplier
◆ SchwarzSmoother
◆ SSORSmoother
◆ Vector
A vector holding our RHS.
◆ Direction
An enum for specification of global coordinate directions.
Enumerator |
---|
NONE | |
X | |
Y | |
Z | |
XY | |
XZ | |
YZ | |
XYZ | |
◆ MultiplierPreconditioner
An enumeration of the available preconditioners for multiplier block.
Enumerator |
---|
SIMPLE | diagonal approximation of A
|
SCHUR | schur + primary preconditioner
|
SCHURAMG | schur + amg
|
SCHURSCHWARZ | schur + schwarz+lu
|
SCHURTWOLEVEL | schur + twolevel
|
◆ Preconditioner
Enumerator |
---|
AMG | |
FASTAMG | |
SCHWARZ | |
TWOLEVEL | |
UNDETERMINED | |
◆ Smoother
Smoother used in the AMG.
Enumerator |
---|
SMOOTH_SSOR | |
SMOOTH_SCHWARZ | |
SMOOTH_JACOBI | |
SMOOTH_ILU | |
◆ Solver
An enumeration of available linear solver classes.
Enumerator |
---|
DIRECT | |
ITERATIVE | |
◆ apply()
std::cerr<< "No direct solver available"<< std::endl; exit(1); siz=A.getOperator().N(); } for(int i=0;i< 6;++i) b[i].resize(siz);}{ try { Dune::InverseOperatorResult r; u[loadcase].resize(b[loadcase].size()); u[loadcase]=0; int solver=0; tsolver[solver]-> Opm::Elasticity::apply |
( |
u |
[loadcase], |
|
|
b |
[loadcase], |
|
|
r |
|
|
) |
| |
◆ applyMortarBlock()
static std::cout<< "Xslave "<< slave[0].size()<< " "<< "Yslave "<< slave[1].size()<< " "<< "Zslave "<< slave[2].size()<< std::endl; std::cout<< "Xmaster "<< master[0].size()<< " "<< "Ymaster "<< master[1].size()<< " "<< "Zmaster "<< master[2].size()<< std::endl; periodicPlane(X, XYZ, slave[0], master[0]); periodicPlane(Y, XYZ, slave[1], master[1]); periodicPlane(Z, XYZ, slave[2], master[2]);}IMPL_FUNC(void, periodicBCsMortar(const double *min, const double *max, int n1, int n2, int p1, int p2)){ fixCorners(min, max); std::cout<< "\textracting nodes on top face..."<< std::endl; slave.push_back(extractFace(Z, max[2])); std::cout<< "\treconstructing bottom face..."<< std::endl; BoundaryGrid bottom=extractMasterFace(Z, min[2]); std::cout<< "\testablishing couplings on top/bottom..."<< std::endl; periodicPlane(Z, XYZ, slave[0], bottom); std::cout<< "\tinitializing matrix..."<< std::endl; A.initForAssembly(); std::cout<< "\treconstructing left face..."<< std::endl; master.push_back(extractMasterFace(X, min[0], LEFT, true)); std::cout<< "\treconstructing right face..."<< std::endl; master.push_back(extractMasterFace(X, max[0], RIGHT, true)); std::cout<< "\treconstructing front face..."<< std::endl; master.push_back(extractMasterFace(Y, min[1], LEFT, true)); std::cout<< "\treconstructing back face..."<< std::endl; master.push_back(extractMasterFace(Y, max[1], RIGHT, true)); std::cout<< "\testablished YZ multiplier grid with "<< n2<< "x1"<< " elements"<< std::endl; BoundaryGrid::FaceCoord fmin, fmax; fmin[0]=min[1];fmin[1]=min[2]; fmax[0]=max[1];fmax[1]=max[2]; BoundaryGrid lambdax=BoundaryGrid::uniform(fmin, fmax, n2, 1, true); fmin[0]=min[0];fmin[1]=min[2]; fmax[0]=max[0];fmax[1]=max[2]; std::cout<< "\testablished XZ multiplier grid with "<< n1<< "x1"<< " elements"<< std::endl; BoundaryGrid lambday=BoundaryGrid::uniform(fmin, fmax, n1, 1, true); addBBlockMortar(master[0], lambdax, 0, 1, p2, 0); int eqns=addBBlockMortar(master[1], lambdax, 0, 1, p2, 0); addBBlockMortar(master[2], lambday, 1, 1, p1, eqns); int eqns2=addBBlockMortar(master[3], lambday, 1, 1, p1, eqns); MatrixOps::fromAdjacency(B, Bpatt, A.getEqns(), eqns+eqns2); Bpatt.clear(); std::cout<< "\tassembling YZ mortar matrix..."<< std::endl; assembleBBlockMortar(master[0], lambdax, 0, 1, p2, 0); assembleBBlockMortar(master[1], lambdax, 0, 1, p2, 0, -1.0); std::cout<< "\tassembling XZ mortar matrix..."<< std::endl; assembleBBlockMortar(master[2], lambday, 1, 1, p1, eqns); assembleBBlockMortar(master[3], lambday, 1, 1, p1, eqns, -1.0); master.clear(); slave.clear();} template< class M, class A > void Opm::Elasticity::applyMortarBlock |
( |
int |
i, |
|
|
const Matrix & |
B, |
|
|
M & |
T, |
|
|
A & |
upre |
|
) |
| |
|
static |
◆ determineSideFaces()
Opm::Elasticity::determineSideFaces |
( |
min |
, |
|
|
max |
|
|
) |
| |
◆ exit()
Opm::Elasticity::exit |
( |
1 |
| ) |
|
◆ for() [1/2]
Initial value:{
{max[0],max[1],max[2]}}
min[0] Definition: elasticity_upscale_impl.hpp:146
References eps0, and j.
◆ for() [2/2]
Opm::Elasticity::for |
( |
LeafVertexIterator |
it = start; it != itend; ++it | ) |
|
◆ if() [1/13]
else Opm::Elasticity::if |
( |
deck. |
hasKeyword"BULKMOD") &&deck.hasKeyword("SHEARMOD" | ) |
|
◆ if() [2/13]
else Opm::Elasticity::if |
( |
deck. |
hasKeyword"LAMEMOD") &&deck.hasKeyword("SHEARMOD" | ) |
|
◆ if() [3/13]
else Opm::Elasticity::if |
( |
deck. |
hasKeyword"PERMX") &&deck.hasKeyword("PORO" | ) |
|
◆ if() [4/13]
Opm::Elasticity::if |
( |
deck. |
hasKeyword"RHO" | ) |
|
◆ if() [5/13]
Opm::Elasticity::if |
( |
deck. |
hasKeyword"SATNUM" | ) |
|
◆ if() [6/13]
Opm::Elasticity::if |
( |
deck. |
hasKeyword"YOUNGMOD") &&deck.hasKeyword("POISSONMOD" | ) |
|
◆ if() [7/13]
Opm::Elasticity::if |
( |
Escale |
, |
|
|
0 |
|
|
) |
| |
◆ if() [8/13]
Opm::Elasticity::if |
( |
file |
= = "uniform" | ) |
|
◆ if() [9/13]
Opm::Elasticity::if |
( |
loadcase |
, |
|
|
- |
1 |
|
) |
| |
◆ if() [10/13]
Opm::Elasticity::if |
( |
matrix |
| ) |
|
|
pure virtual |
◆ if() [11/13]
Opm::Elasticity::if |
( |
params. |
type = = ITERATIVE | ) |
|
References AMG, applyMortarBlock(), Opm::Elasticity::MatrixOps::diagonal(), Opm::Elasticity::MatrixOps::fromDense(), LoggerHelper::group(), LoggerHelper::log(), numsolvers, SCHUR, SCHURAMG, SCHURSCHWARZ, SCHURTWOLEVEL, SCHWARZ, Opm::Elasticity::AMG1< Smoother >::setup(), Opm::Elasticity::AMG2Level< Smoother >::setup(), Opm::Elasticity::Schwarz::setup(), SIMPLE, and TWOLEVEL.
◆ if() [12/13]
Opm::Elasticity::if |
( |
satnum. |
empty() | ) |
|
◆ if() [13/13]
◆ IMPL_FUNC() [1/13]
Opm::Elasticity::IMPL_FUNC |
( |
bool |
, |
|
|
isOnLine(Direction dir, GlobalCoordinate coord, ctype x, ctype y) |
|
|
) |
| |
◆ IMPL_FUNC() [2/13]
Opm::Elasticity::IMPL_FUNC |
( |
bool |
, |
|
|
isOnPlane(Direction plane, GlobalCoordinate coord, ctype value) |
|
|
) |
| |
◆ IMPL_FUNC() [3/13]
Opm::Elasticity::IMPL_FUNC |
( |
bool |
, |
|
|
isOnPoint(GlobalCoordinate coord, GlobalCoordinate point) |
|
|
) |
| |
◆ IMPL_FUNC() [4/13]
Opm::Elasticity::IMPL_FUNC |
( |
BoundaryGrid |
, |
|
|
extractMasterFace(Direction dir, ctype coord, SIDE side, bool dc) |
|
|
) |
| |
References Opm::Elasticity::BoundaryGrid::add(), Opm::Elasticity::BoundaryGrid::addToColumn(), Opm::Elasticity::BoundaryGrid::Vertex::c, Opm::Elasticity::BoundaryGrid::extract(), Opm::Elasticity::BoundaryGrid::Vertex::i, j, maxXmaxY(), maxXminY(), minXmaxY(), minXminY(), and Opm::Elasticity::BoundaryGrid::Quad::v.
◆ IMPL_FUNC() [5/13]
Opm::Elasticity::IMPL_FUNC |
( |
int |
, |
|
|
addBBlockMortar(const BoundaryGrid &b1, const BoundaryGrid &interface, int, int n1, int n2, int colofs) |
|
|
) |
| |
◆ IMPL_FUNC() [6/13]
◆ IMPL_FUNC() [7/13]
Opm::Elasticity::IMPL_FUNC |
( |
template< int comp > void |
, |
|
|
averageStress(Dune::FieldVector< ctype, comp > &sigma, const Vector &uarg, int loadcase) |
|
|
) |
| |
◆ IMPL_FUNC() [8/13]
◆ IMPL_FUNC() [9/13]
Opm::Elasticity::IMPL_FUNC |
( |
void |
, |
|
|
assembleBBlockMortar(const BoundaryGrid &b1, const BoundaryGrid &interface, int dir, int n1, int n2, int colofs, double alpha) |
|
|
) |
| |
References Opm::Elasticity::BoundaryGrid::colSize(), Opm::Elasticity::MPC::getMaster(), Opm::Elasticity::MPC::getNoMaster(), Opm::Elasticity::BoundaryGrid::getQuad(), LoggerHelper::group(), Opm::Elasticity::BoundaryGrid::Vertex::i, Opm::Elasticity::P1ShapeFunctionSet< ctype, rtype, dim >::instance(), j, LoggerHelper::log(), Opm::Elasticity::P1ShapeFunctionSet< ctype, rtype, dim >::n, Opm::Elasticity::MPC::DOF::node, renumber(), Opm::Elasticity::PNShapeFunctionSet< dim >::size(), Opm::Elasticity::BoundaryGrid::size(), and Opm::Elasticity::BoundaryGrid::Quad::v.
◆ IMPL_FUNC() [10/13]
Opm::Elasticity::IMPL_FUNC |
( |
void |
, |
|
|
fixLine(Direction dir, ctype x, ctype y, const NodeValue &value) |
|
|
) |
| |
◆ IMPL_FUNC() [11/13]
Opm::Elasticity::IMPL_FUNC |
( |
void |
, |
|
|
fixPoint(Direction dir, GlobalCoordinate coord, const NodeValue &value) |
|
|
) |
| |
◆ IMPL_FUNC() [12/13]
Opm::Elasticity::IMPL_FUNC |
( |
void |
, |
|
|
loadMaterialsFromRocklist(const std::string &file, const std::string &rocklist) |
|
|
) |
| |
◆ IMPL_FUNC() [13/13]
◆ maxXmaxY()
Find the vertex in the vector with maximum X and maximum Y.
- Returns
- The requested vertex
Referenced by IMPL_FUNC().
◆ maxXminY()
Find the vertex in the vector with maximum X and minimum Y.
- Returns
- The requested vertex
Referenced by IMPL_FUNC().
◆ minXmaxY()
Find the vertex in the vector with minimum X and maximum Y.
- Returns
- The requested vertex
Referenced by IMPL_FUNC().
◆ minXminY()
Find the vertex in the vector with minimum X and minimum Y.
- Returns
- The requested vertex
Referenced by IMPL_FUNC().
◆ push_back() [1/5]
slave Opm::Elasticity::push_back |
( |
extractFace(X, max[0]) |
| ) |
|
◆ push_back() [2/5]
slave Opm::Elasticity::push_back |
( |
extractFace(Y, max[1]) |
| ) |
|
◆ push_back() [3/5]
slave Opm::Elasticity::push_back |
( |
extractFace(Z, max[2]) |
| ) |
|
◆ push_back() [4/5]
master Opm::Elasticity::push_back |
( |
extractMasterFace(Y, min[1]) |
| ) |
|
◆ push_back() [5/5]
master Opm::Elasticity::push_back |
( |
extractMasterFace(Z, min[2]) |
| ) |
|
◆ renumber()
static std::vector< std::vector< int > > Opm::Elasticity::renumber |
( |
const BoundaryGrid & |
b, |
|
|
int |
n1, |
|
|
int |
n2, |
|
|
int & |
totalDOFs |
|
) |
| |
|
static |
Static helper to renumber a Q4 mesh to a P_1/P_N lag mesh.
- Parameters
-
[in] | b | The boundary grid describing the Q4 mesh |
[in] | n1 | Number of DOFS in the first direction for each element |
[in] | n2 | Number of DOFS in the first direction for each element |
[out] | totalDOFs | The total number of free DOFs |
References push_back(), Opm::Elasticity::BoundaryGrid::size(), and start.
Referenced by IMPL_FUNC().
◆ waveSpeeds()
Dune::FieldVector< double, 3 > Opm::Elasticity::waveSpeeds |
( |
const Dune::FieldMatrix< double, 6, 6 > & |
C, |
|
|
double |
phi, |
|
|
double |
theta, |
|
|
double |
density |
|
) |
| |
Compute the elastic wave velocities.
C The elastic tensor
phi dip angle
theta Azimuth angle
density Density of material
References j.
◆ bfunc
const int Opm::Elasticity::bfunc = 4+(dim-2)*4 |
|
static |
◆ cache
MaterialMap Opm::Elasticity::cache |
Initial value:{
typedef std::map<std::pair<double,double>,
std::shared_ptr<Material> > MaterialMap
Referenced by if(), and IMPL_FUNC().
◆ cells
std::vector<int> Opm::Elasticity::cells = gv.globalCell() |
◆ deck
auto Opm::Elasticity::deck = parser.parseFile(file) |
Referenced by Opm::ReservoirPropertyCommon< dim, ReservoirPropertyCapillary< dim >, RockJfunc >::asImpl(), Opm::ReservoirPropertyCommon< dim, RPImpl, RockType >::assignNTG(), Opm::ReservoirPropertyCommon< dim, RPImpl, RockType >::assignPermeability(), Opm::Rock< dim >::assignPermeability(), Opm::ReservoirPropertyCommon< dim, RPImpl, RockType >::assignPorosity(), Opm::Rock< dim >::assignPorosity(), Opm::ReservoirPropertyCommon< dim, RPImpl, RockType >::assignRockTable(), Opm::ReservoirPropertyCommon< dim, RPImpl, RockType >::assignSOWCR(), Opm::ReservoirPropertyCommon< dim, RPImpl, RockType >::assignSWCR(), Opm::ReservoirPropertyCommon< dim, ReservoirPropertyCapillary< dim >, RockJfunc >::cflFactorCapillary(), if(), IMPL_FUNC(), Opm::ReservoirPropertyCommon< dim, RPImpl, RockType >::init(), Opm::Rock< dim >::init(), Opm::ReservoirPropertyCommon< dim, ReservoirPropertyCapillary< dim >, RockJfunc >::s_min(), Opm::ReservoirPropertyCommon< dim, ReservoirPropertyCapillary< dim >, RockJfunc >::saturationFromCapillaryPressure(), Opm::setupGridAndProps(), and Opm::setupGridAndPropsEclipse().
◆ else
◆ Emod
std::vector<double> Opm::Elasticity::Emod |
◆ eps0
Opm::Elasticity::eps0 = 0 |
◆ itend
const LeafVertexIterator Opm::Elasticity::itend = gv.leafGridView().template end<dim>() |
int Opm::Elasticity::j =0 |
Referenced by Opm::Elasticity::ASMHandler< GridType >::addDOF(), applyMortarBlock(), Opm::ImplicitTransportDefault::MatrixBlockAssembler< ISTLTypeDetails::ScalarBCRSMatrix >::assembleBlock(), Opm::ReservoirPropertyCommon< dim, RPImpl, RockType >::assignPermeability(), Opm::Rock< dim >::assignPermeability(), Opm::MimeticIPAnisoRelpermEvaluator< GridInterface, RockInterface >::buildStaticContrib(), Opm::MimeticIPEvaluator< GridInterface, RockInterface >::buildStaticContrib(), Opm::CornerPointChopper::chop(), Opm::MimeticIPEvaluator< GridInterface, RockInterface >::evaluate(), Opm::Elasticity::LagrangeCardinalFunction< ctype, rtype >::evaluateGradient(), Opm::Elasticity::LinearShapeFunction< ctype, rtype, dim >::evaluateGradient(), Opm::Elasticity::ASMHandler< GridType >::expandSolution(), for(), Opm::Elasticity::Elasticity< GridType >::getBmatrix(), Opm::Elasticity::Elasticity< GridType >::getStiffnessMatrix(), Opm::Elasticity::HexGeometry< 2, cdim, GridImp >::global(), IMPL_FUNC(), Opm::Elasticity::HexGeometry< 2, cdim, GridImp >::jacobianTransposed(), Opm::Elasticity::ASMHandler< GridType >::nodeAdjacency(), Opm::Elasticity::PNShapeFunctionSet< dim >::PNShapeFunctionSet(), Opm::readControl(), Opm::Elasticity::ASMHandler< GridType >::resolveMPCChain(), Opm::ReservoirPropertyCommon< dim, ReservoirPropertyCapillary< dim >, RockJfunc >::swcr(), Opm::symmetricUpdate(), Opm::SteadyStateUpscalerManager< Traits >::upscale(), Opm::SteadyStateUpscalerManagerImplicit< Upscaler >::upscale(), waveSpeeds(), and Opm::writeControl().
◆ min
Opm::Elasticity::min[0] = min[1] = min[2] = 1e5 |
Referenced by Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::checkAndPossiblyClampSat(), Opm::EulerUpstreamImplicit< GridInterface, ReservoirProperties, BoundaryConditions >::checkAndPossiblyClampSat(), Opm::ImplicitCapillarity< GridInterface, ReservoirProperties, BoundaryConditions, InnerProd >::checkAndPossiblyClampSat(), Opm::CornerPointChopper::chop(), Opm::ReservoirPropertyCapillary< dim >::computeCflFactors(), Opm::ReservoirPropertyCapillaryAnisotropicRelperm< dim >::computeCflFactors(), Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::computeCflTime(), Opm::createLinear(), Opm::eye(), Opm::cfl_calculator::findCFLtimeCapillary(), Opm::findPeriodicPartners(), Opm::SinglePointUpwindTwoPhase< TwophaseFluid >::finishStep(), for(), IMPL_FUNC(), Opm::SinglePointUpwindTwoPhase< TwophaseFluid >::initIteration(), Opm::SteadyStateUpscalerImplicit< Traits >::initSatLimits(), Opm::RockJfunc::satFromCapPress(), Opm::ImplicitCapillarityDetails::thresholdMobility(), Opm::trace(), Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::transportSolve(), and Opm::SteadyStateUpscalerImplicit< Traits >::upscaleSteadyState().
◆ numsolvers
int Opm::Elasticity::numsolvers = 1 |
◆ Poiss
std::vector<double> Opm::Elasticity::Poiss |
◆ rho
std::vector<double> Opm::Elasticity::rho |
◆ satnum
std::vector<int> Opm::Elasticity::satnum |
◆ second
std::cout<< "Number of materials: " << cache.size() << std::endl; double totalvolume=0; for (std::map<Material*,double>::iterator it = volume.begin(); it != volume.end(); ++it) totalvolume += it-> Opm::Elasticity::second |
◆ start
LeafVertexIterator Opm::Elasticity::start = gv.leafGridView().template begin<dim>() |
◆ upscaledRho
Opm::Elasticity::upscaledRho = -1 |
◆ volume
std::map<Material*,double> Opm::Elasticity::volume |
|