|
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 slave, const BoundaryGrid::Vertex &m)) |
|
| IMPL_FUNC (void, periodicPlane(Direction plane, Direction dir, const std::vector< BoundaryGrid::Vertex > &slave, const BoundaryGrid &master)) |
|
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 dir, 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 &u, int loadcase)) |
|
| if (file=="uniform") |
|
Opm::DeckConstPtr | deck (parser->parseFile(file, parseMode)) |
|
| 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(),
false);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 |
|
Opm::ParseMode | parseMode |
|
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 |
|
For storing matrix adjacency/sparsity patterns.
A sparse matrix holding our operator.
A mapping from dof to MPCs.
A vector holding our RHS.
An enum for specification of global coordinate directions.
Enumerator |
---|
NONE |
|
X |
|
Y |
|
Z |
|
XY |
|
XZ |
|
YZ |
|
XYZ |
|
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
|
Enumerator |
---|
AMG |
|
FASTAMG |
|
SCHWARZ |
|
TWOLEVEL |
|
UNDETERMINED |
|
Smoother used in the AMG.
Enumerator |
---|
SMOOTH_SSOR |
|
SMOOTH_SCHWARZ |
|
SMOOTH_JACOBI |
|
SMOOTH_ILU |
|
An enumeration of available linear solver classes.
Enumerator |
---|
DIRECT |
|
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(), false); u[loadcase] = 0; int solver=0; tsolver[solver]-> Opm::Elasticity::apply |
( |
u |
[loadcase], |
|
|
b |
[loadcase], |
|
|
r |
|
|
) |
| |
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 |
Opm::DeckConstPtr Opm::Elasticity::deck |
( |
parser-> |
parseFilefile, parseMode | ) |
|
Opm::Elasticity::determineSideFaces |
( |
min |
, |
|
|
max |
|
|
) |
| |
Opm::Elasticity::exit |
( |
1 |
| ) |
|
Opm::Elasticity::for |
( |
LeafVertexIterator |
it = start; it != itend; ++it | ) |
|
Initial value:{
ctype c[8][3] = {{ min[0], min[1],min[2]},
{max[0],max[1],max[2]}}
min[0] Definition: elasticity_upscale_impl.hpp:144
References j.
Opm::Elasticity::if |
( |
loadcase |
, |
|
|
- |
1 |
|
) |
| |
Opm::Elasticity::if |
( |
matrix |
| ) |
|
|
pure virtual |
Opm::Elasticity::if |
( |
file |
= = "uniform" | ) |
|
Opm::Elasticity::if |
( |
deck-> |
hasKeyword"YOUNGMOD")&&deck->hasKeyword("POISSONMOD" | ) |
|
else Opm::Elasticity::if |
( |
deck-> |
hasKeyword"LAMEMOD")&&deck->hasKeyword("SHEARMOD" | ) |
|
else Opm::Elasticity::if |
( |
deck-> |
hasKeyword"BULKMOD")&&deck->hasKeyword("SHEARMOD" | ) |
|
else Opm::Elasticity::if |
( |
deck-> |
hasKeyword"PERMX")&&deck->hasKeyword("PORO" | ) |
|
Opm::Elasticity::if |
( |
deck-> |
hasKeyword"SATNUM" | ) |
|
Opm::Elasticity::if |
( |
deck-> |
hasKeyword"RHO" | ) |
|
Opm::Elasticity::if |
( |
Escale |
, |
|
|
0 |
|
|
) |
| |
Opm::Elasticity::if |
( |
satnum. |
empty() | ) |
|
Opm::Elasticity::if |
( |
upscaledRho |
, |
|
|
0 |
|
|
) |
| |
Opm::Elasticity::if |
( |
params. |
type = = ITERATIVE | ) |
|
References AMG, applyMortarBlock(), Opm::Elasticity::MatrixOps::diagonal(), Opm::Elasticity::MatrixOps::fromDense(), numsolvers, SCHUR, SCHURAMG, SCHURSCHWARZ, SCHURTWOLEVEL, SCHWARZ, SIMPLE, and TWOLEVEL.
Opm::Elasticity::IMPL_FUNC |
( |
std::vector< BoundaryGrid::Vertex > |
, |
|
|
extractFace(Direction dir, ctype coord) |
|
|
) |
| |
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.
Opm::Elasticity::IMPL_FUNC |
( |
void |
, |
|
|
addMPC(Direction dir, int slave,const BoundaryGrid::Vertex &m) |
|
|
) |
| |
Opm::Elasticity::IMPL_FUNC |
( |
void |
, |
|
|
periodicPlane(Direction plane,Direction dir,const std::vector< BoundaryGrid::Vertex > &slave,const BoundaryGrid &master) |
|
|
) |
| |
Opm::Elasticity::IMPL_FUNC |
( |
int |
, |
|
|
addBBlockMortar(const BoundaryGrid &b1,const BoundaryGrid &interface,int dir, int n1, int n2,int colofs) |
|
|
) |
| |
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(), Opm::Elasticity::BoundaryGrid::Vertex::i, Opm::Elasticity::P1ShapeFunctionSet< ctype, rtype, dim >::instance(), j, Opm::Elasticity::P1ShapeFunctionSet< ctype, rtype, dim >::n, Opm::Elasticity::MPC::DOF::node, renumber(), Opm::Elasticity::BoundaryGrid::size(), Opm::Elasticity::PNShapeFunctionSet< dim >::size(), and Opm::Elasticity::BoundaryGrid::Quad::v.
Opm::Elasticity::IMPL_FUNC |
( |
void |
, |
|
|
fixPoint(Direction dir,GlobalCoordinate coord,const NodeValue &value) |
|
|
) |
| |
Opm::Elasticity::IMPL_FUNC |
( |
bool |
, |
|
|
isOnPlane(Direction plane,GlobalCoordinate coord,ctype value) |
|
|
) |
| |
Opm::Elasticity::IMPL_FUNC |
( |
void |
, |
|
|
fixLine(Direction dir,ctype x, ctype y,const NodeValue &value) |
|
|
) |
| |
Opm::Elasticity::IMPL_FUNC |
( |
bool |
, |
|
|
isOnLine(Direction dir,GlobalCoordinate coord,ctype x, ctype y) |
|
|
) |
| |
Opm::Elasticity::IMPL_FUNC |
( |
bool |
, |
|
|
isOnPoint(GlobalCoordinate coord,GlobalCoordinate point) |
|
|
) |
| |
Opm::Elasticity::IMPL_FUNC |
( |
template< int comp > |
void, |
|
|
averageStress(Dune::FieldVector< ctype, comp > &sigma,const Vector &u, int loadcase) |
|
|
) |
| |
Opm::Elasticity::IMPL_FUNC |
( |
void |
, |
|
|
loadMaterialsFromRocklist(const std::string &file,const std::string &rocklist) |
|
|
) |
| |
Find the vertex in the vector with maximum X and maximum Y.
- Returns
- The requested vertex
Referenced by IMPL_FUNC().
Find the vertex in the vector with maximum X and minimum Y.
- Returns
- The requested vertex
Referenced by IMPL_FUNC().
Find the vertex in the vector with minimum X and maximum Y.
- Returns
- The requested vertex
Referenced by IMPL_FUNC().
Find the vertex in the vector with minimum X and minimum Y.
- Returns
- The requested vertex
Referenced by IMPL_FUNC().
master Opm::Elasticity::push_back |
( |
extractMasterFace(Y, min[1]) |
| ) |
|
master Opm::Elasticity::push_back |
( |
extractMasterFace(Z, min[2]) |
| ) |
|
slave Opm::Elasticity::push_back |
( |
extractFace(X, max[0]) |
| ) |
|
slave Opm::Elasticity::push_back |
( |
extractFace(Y, max[1]) |
| ) |
|
slave Opm::Elasticity::push_back |
( |
extractFace(Z, max[2]) |
| ) |
|
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(), and Opm::Elasticity::BoundaryGrid::size().
Referenced by IMPL_FUNC().
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.
const int Opm::Elasticity::bfunc = 4+(dim-2)*4 |
|
static |
MaterialMap Opm::Elasticity::cache |
Initial value:{
typedef std::map<std::pair<double,double>,
std::shared_ptr<Material> > MaterialMap
Referenced by IMPL_FUNC().
std::vector<int> Opm::Elasticity::cells = gv.globalCell() |
Initial value:{
Opm::ParserPtr parser(new Opm::Parser())
std::vector<double> Opm::Elasticity::Emod |
Opm::Elasticity::eps0 = 0 |
const LeafVertexIterator Opm::Elasticity::itend = gv.leafGridView().template end<dim>() |
int Opm::Elasticity::j =0 |
Referenced by Opm::Elasticity::ASMHandler< GridType >::addDOF(), applyMortarBlock(), Opm::Elasticity::LinearShapeFunction< ctype, rtype, dim >::evaluateGradient(), Opm::Elasticity::LagrangeCardinalFunction< ctype, rtype >::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::SteadyStateUpscalerManager< Traits >::upscale(), Opm::SteadyStateUpscalerManagerImplicit< Upscaler >::upscale(), waveSpeeds(), and Opm::writeControl().
Opm::Elasticity::min[0] = min[1] = min[2] = 1e5 |
int Opm::Elasticity::numsolvers = 1 |
Opm::ParseMode Opm::Elasticity::parseMode |
std::vector<double> Opm::Elasticity::Poiss |
std::vector<double> Opm::Elasticity::rho |
std::vector<int> Opm::Elasticity::satnum |
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 |
LeafVertexIterator Opm::Elasticity::start = gv.leafGridView().template begin<dim>() |
Opm::Elasticity::upscaledRho = -1 |
std::map<Material*,double> Opm::Elasticity::volume |
|