A class describing a quad grid.
More...
#include <boundarygrid.hh>
|
bool | bilinearSolve (double epsilon, double order, const double *A, const double *B, std::vector< double > &X, std::vector< double > &Y) const |
| Solves a bi-linear set of equations in x and y. A1 * x*y + A2 * x + A3 * y = A4 B1 * x*y + B2 * x + B3 * y = B4. More...
|
|
bool | cubicSolve (double eps, double A, double B, double C, double D, std::vector< double > &X) const |
| Solves the cubic equation A*x^3+B*x^2+C*x+D=0. More...
|
|
int | Q4inv (FaceCoord &res, const Quad &q, const FaceCoord &coord, double epsZero, double epsOut) const |
| Find the local coordinates of a given point within a given quad. More...
|
|
A class describing a quad grid.
A coordinate on the quad grid.
A coordinate on the underlying 3D grid.
Opm::Elasticity::BoundaryGrid::BoundaryGrid |
( |
| ) |
|
|
inline |
Default (empty) constructor.
virtual Opm::Elasticity::BoundaryGrid::~BoundaryGrid |
( |
| ) |
|
|
inlinevirtual |
Default (empty) destructor.
void Opm::Elasticity::BoundaryGrid::add |
( |
const Quad & |
quad | ) |
|
void Opm::Elasticity::BoundaryGrid::addToColumn |
( |
size_t |
col, |
|
|
const Quad & |
quad |
|
) |
| |
|
inline |
bool Opm::Elasticity::BoundaryGrid::bilinearSolve |
( |
double |
epsilon, |
|
|
double |
order, |
|
|
const double * |
A, |
|
|
const double * |
B, |
|
|
std::vector< double > & |
X, |
|
|
std::vector< double > & |
Y |
|
) |
| const |
|
protected |
Solves a bi-linear set of equations in x and y. A1 * x*y + A2 * x + A3 * y = A4 B1 * x*y + B2 * x + B3 * y = B4.
- Parameters
-
[in] | epsilon | The tolerance for equality checks with zero |
[in] | order | The expected order of the solution (used for unique checks) |
[in] | A | The coefficients of the first equation |
[in] | B | The coefficients of the second equation |
[out] | X | The first component of the solutions |
[out] | Y | The second component of the solutions |
size_t Opm::Elasticity::BoundaryGrid::colSize |
( |
int |
i | ) |
const |
|
inline |
bool Opm::Elasticity::BoundaryGrid::cubicSolve |
( |
double |
eps, |
|
|
double |
A, |
|
|
double |
B, |
|
|
double |
C, |
|
|
double |
D, |
|
|
std::vector< double > & |
X |
|
) |
| const |
|
protected |
Solves the cubic equation A*x^3+B*x^2+C*x+D=0.
- Parameters
-
[in] | eps | The tolerance for equality checks with zero |
[in] | A | Equation coefficient |
[in] | B | Equation coefficient |
[in] | C | Equation coefficient |
[in] | D | Equation coefficient |
[out] | X | The obtained solutions |
static void Opm::Elasticity::BoundaryGrid::extract |
( |
Vertex & |
res, |
|
|
const Dune::FieldVector< double, 3 > & |
coord, |
|
|
int |
dir |
|
) |
| |
|
static |
Helper function for extracting given 2D coordinates from a 3D vector.
- Parameters
-
[in] | coord | The 3D coordinates of the vertex |
[in] | dir | The direction to ignore |
[out] | res | The resulting coordinates |
bool Opm::Elasticity::BoundaryGrid::find |
( |
Vertex & |
res, |
|
|
const Vertex & |
coord |
|
) |
| const |
Locate the position of a vertex on the grid.
- Parameters
-
[in] | coord | The coordinate of the vertex |
[out] | res | The resulting coordinates |
Referenced by Opm::Elasticity::IMPL_FUNC().
const Quad& Opm::Elasticity::BoundaryGrid::getQuad |
( |
int |
col, |
|
|
int |
index |
|
) |
| const |
|
inline |
bool Opm::Elasticity::BoundaryGrid::isFixed |
( |
int |
node | ) |
const |
|
inline |
Check if a given node is marked as fixed.
- Parameters
-
[in] | node | The requested node |
- Returns
- Whether or not the node is marked as fixed
References fixNodes.
Quad& Opm::Elasticity::BoundaryGrid::operator[] |
( |
int |
index | ) |
|
|
inline |
Obtain a reference to a quad.
- Parameters
-
[in] | index | The index of the requested quad |
- Returns
- A reference to the requested quad
References grid.
const Quad& Opm::Elasticity::BoundaryGrid::operator[] |
( |
int |
index | ) |
const |
|
inline |
Obtain a const reference to a quad.
- Parameters
-
[in] | index | The index of the requested quad |
- Returns
- A const reference to the requested quad
References grid.
int Opm::Elasticity::BoundaryGrid::Q4inv |
( |
FaceCoord & |
res, |
|
|
const Quad & |
q, |
|
|
const FaceCoord & |
coord, |
|
|
double |
epsZero, |
|
|
double |
epsOut |
|
) |
| const |
|
protected |
Find the local coordinates of a given point within a given quad.
- Parameters
-
[in] | q | The quad to search within |
[in] | coord | The coordinates to search for |
[in] | epsZero | The tolerance for equality checks with zero |
[in] | epsOut | The tolerance check for outside checks |
[out] | res | The obtained result |
size_t Opm::Elasticity::BoundaryGrid::size |
( |
| ) |
const |
|
inline |
size_t Opm::Elasticity::BoundaryGrid::totalNodes |
( |
| ) |
const |
|
inline |
Return the total number of nodes on the grid when known.
- See also
- uniform
References nodes.
Establish an uniform quad grid.
- Parameters
-
[in] | min | Lower left corner |
[in] | max | Upper right corner |
[in] | k1 | Number of elements in the first direction |
[in] | k2 | Number of elements in the second direction |
[in] | dc | If true, order quads according to dune conventions |
- Returns
- A quad grid spanning the given area. Nodes are numbered
std::ostream& operator<< |
( |
std::ostream & |
os, |
|
|
const BoundaryGrid & |
g |
|
) |
| |
|
friend |
std::vector<std::vector<Quad> > Opm::Elasticity::BoundaryGrid::colGrids |
|
protected |
std::vector<bool> Opm::Elasticity::BoundaryGrid::fixNodes |
|
protected |
Whether or not a given node is marked as fixed.
Referenced by isFixed().
std::vector<Quad> Opm::Elasticity::BoundaryGrid::grid |
|
protected |
size_t Opm::Elasticity::BoundaryGrid::nodes |
|
protected |
The documentation for this class was generated from the following file:
|