The main driver class.
More...
#include <elasticity_upscale.hpp>
|
|
typedef GridType::LeafGridView::ctype | ctype |
| | A basic number.
|
|
typedef Dune::FieldVector< double, dim > | NodeValue |
| | A vectorial node value.
|
|
typedef GridType::LeafGridView::template Codim< 1 >::Geometry::GlobalCoordinate | GlobalCoordinate |
| | A global coordinate.
|
|
typedef GridType::LeafGridView::IndexSet | LeafIndexSet |
| | A set of indices.
|
|
typedef GridType::LeafGridView::template Codim< 0 >::Iterator | LeafIterator |
| | An iterator over grid cells.
|
|
typedef PC::type | PCType |
| | Our preconditioner type.
|
|
typedef std::shared_ptr< typename PC::type > | PCPtr |
| | A pointer to our preconditioner.
|
|
| | ElasticityUpscale (const GridType &gv_, ctype tol_, ctype Escale_, const std::string &file, const std::string &rocklist, bool verbose_) |
| | Main constructor.
|
| void | findBoundaries (double *min, double *max) |
| | Find boundary coordinates.
|
| void | addMPC (Direction dir, int slavenode, const BoundaryGrid::Vertex &m) |
| | Add a MPC equation.
|
| void | periodicBCs (const double *min, const double *max) |
| | Establish periodic boundaries using the MPC approach.
|
| void | periodicBCsMortar (const double *min, const double *max, int n1, int n2, int p1, int p2) |
| | Establish periodic boundaries using the mortar approach.
|
| void | fixCorners (const double *min, const double *max) |
| | Fix corner nodes.
|
| void | assemble (int loadcase, bool matrix) |
| | Assemble (optionally) stiffness matrix A and load vector.
|
| template<int comp> |
| void | averageStress (Dune::FieldVector< ctype, comp > &sigma, const Vector &u, int loadcase) |
| | Calculate the average stress vector for the given loadcase.
|
| void | solve (int loadcase) |
| | Solve Au = b for u.
|
| void | setupSolvers (const LinSolParams ¶ms) |
|
|
ASMHandler< GridType > | A |
| | The linear operator.
|
|
Vector | u [6] |
| | The solution vectors.
|
|
Vector | b [6] |
| | The load vectors.
|
|
std::vector< double > | volumeFractions |
| | Vector holding the volume fractions for materials (grouped by SATNUM).
|
|
bool | bySat |
| | Are volume fractions grouped by SATNUM?
|
|
double | upscaledRho |
| | Upscaled density.
|
|
|
static const int | dim = GridType::dimension |
| | Dimension of our grid.
|
template<class
GridType, class PC>
class Opm::Elasticity::ElasticityUpscale< GridType, PC >
The main driver class.
◆ ElasticityUpscale()
Main constructor.
- Parameters
-
| [in] | gv_ | The grid to operate on |
| [in] | tol_ | The tolerance to use when deciding whether or not a coordinate falls on a plane/line/point. |
- See also
- tol
- Parameters
-
| [in] | Escale_ | A scale value for E-moduluses to avoid numerical issues |
| [in] | file | The eclipse grid file |
| [in] | rocklist | If not blank, file is a rocklist |
| [in] | verbose_ | If true, give verbose output |
◆ addMPC()
Add a MPC equation.
- Parameters
-
| [in] | dir | The direction of the MPC |
| [in] | slavenode | The slave node index |
| [in] | m | The vertices on the master grid |
◆ assemble()
Assemble (optionally) stiffness matrix A and load vector.
- Parameters
-
| [in] | loadcase | The strain load case. Set to -1 to skip |
| [in] | matrix | Whether or not to assemble the matrix |
◆ averageStress()
Calculate the average stress vector for the given loadcase.
- Parameters
-
| [out] | sigma | The stress vector |
| [in] | u | The displacement vector |
| [in] | loadcase | The strain load case considered |
◆ findBoundaries()
Find boundary coordinates.
- Parameters
-
| [out] | min | The miminum coordinates of the grid |
| [out] | max | The maximum coordinates of the grid |
◆ fixCorners()
Fix corner nodes.
- Parameters
-
| [in] | min | The minimum coordinates on the grid |
| [in] | max | The maximum coordinates on the grid |
◆ periodicBCs()
Establish periodic boundaries using the MPC approach.
- Parameters
-
| [in] | min | The minimum coordinates of the grid |
| [in] | max | The maximum coordinates of the grid |
◆ periodicBCsMortar()
Establish periodic boundaries using the mortar approach.
- Parameters
-
| [in] | min | The minimum coordinates of the grid |
| [in] | max | The maximum coordinates of the grid |
| [in] | n1 | The number of elements on the lambda grid in the X direction |
| [in] | n2 | The number of elements on the lambda grid in the Y direction |
| [in] | p1 | The order of multipliers in the X direction |
| [in] | p2 | The order of multipliers in the Y direction |
◆ setupSolvers()
- Parameters
-
| [in] | params | The linear solver parameters |
◆ solve()
Solve Au = b for u.
- Parameters
-
| [in] | loadcase | The load case to solve |
The documentation for this class was generated from the following file: