Class handling finite element assembly.
More...
#include <asmhandler.hpp>
|
| ASMHandler (const GridType &gv_) |
| The default constructor. More...
|
|
| ~ASMHandler () |
| Destructor. More...
|
|
size_t | getEqns () const |
| Get the number of equations in the system. More...
|
|
int | getEquationForDof (int node, int dof) |
| Get the equation number for a given dof on a given node. More...
|
|
Matrix & | getOperator () |
| Obtain a reference to the linear operator. More...
|
|
Vector & | getLoadVector () |
| Obtain a reference to the load vector. More...
|
|
void | initForAssembly () |
| This function needs to be called before starting the element assembly. More...
|
|
template<int esize> |
void | addElement (const Dune::FieldMatrix< double, esize, esize > *K, const Dune::FieldVector< double, esize > *S, const LeafIterator &cell, Vector *b=NULL) |
| Add an element matrix/vector to the system. More...
|
|
template<int comp> |
void | extractValues (Dune::FieldVector< double, comp > &v, const Vector &u, const LeafIterator &it) |
| Extract values corresponding to cell. More...
|
|
void | expandSolution (Vector &result, const Vector &u) |
| Expand a system vector to a solution vector. More...
|
|
void | addMPC (MPC *mpc) |
| Add a MPC. More...
|
|
MPC * | getMPC (int node, int dof) |
| Look for and return a MPC for a specified node+dof. More...
|
|
void | updateFixedNode (int node, const std::pair< Direction, NodeValue > &entry) |
| Update/add a fixed node. More...
|
|
bool | isFixed (int node) |
| Check if a node is marked as fixed (in any direction) More...
|
|
void | printOperator () const |
| Print the current operator. More...
|
|
void | printLoadVector () const |
| Print the current load vector. More...
|
|
AdjacencyPattern & | getAdjacencyPattern () |
| Access current adjacency pattern. More...
|
|
|
static const int | dim = GridType::dimension |
| The dimension of the grid. More...
|
|
|
void | resolveMPCChains () |
| Resolve chained MPCs. More...
|
|
void | resolveMPCChain (MPC *mpc) |
| Internal function. Handles a single MPC. More...
|
|
void | preprocess () |
| Internal function. Generate meqn for registered MPC/fixed nodes. More...
|
|
void | nodeAdjacency (const LeafIterator &it, int vertexsize, int row) |
| Internal function. Generate adjacency pattern for a given node. More...
|
|
void | determineAdjacencyPattern () |
| Internal function. Calculate adjacency pattern. More...
|
|
template<int esize> |
void | addDOF (int row, int erow, const Dune::FieldMatrix< double, esize, esize > *K, const Dune::FieldVector< double, esize > *S, const LeafIndexSet &set, const LeafIterator &cell, Vector *b, double scale=1.f) |
| Internal function. Assemble entries for a single DOF. More...
|
|
template<class GridType>
class Opm::Elasticity::ASMHandler< GridType >
Class handling finite element assembly.
A mapping from dof to fix value info.
An iterator over grid cells.
The default constructor.
- Parameters
-
[in] | gv_ | The grid the operator is assembled over |
template<class GridType >
template<int esize>
void Opm::Elasticity::ASMHandler< GridType >::addDOF |
( |
int |
row, |
|
|
int |
erow, |
|
|
const Dune::FieldMatrix< double, esize, esize > * |
K, |
|
|
const Dune::FieldVector< double, esize > * |
S, |
|
|
const LeafIndexSet & |
set, |
|
|
const LeafIterator & |
cell, |
|
|
Vector * |
b, |
|
|
double |
scale = 1.f |
|
) |
| |
|
protected |
template<class GridType >
template<int esize>
template<class GridType >
template<class GridType >
template<class GridType >
template<class GridType >
template<int comp>
template<class GridType >
Look for and return a MPC for a specified node+dof.
- Parameters
-
[in] | node | The requested node |
[in] | dof | The requested DOF at given node |
- Returns
- The MPC for the node/dof if found, else NULL
template<class GridType >
template<class GridType >
template<class GridType >
Internal function. Generate meqn for registered MPC/fixed nodes.
template<class GridType >
Print the current load vector.
template<class GridType >
template<class GridType >
Internal function. Handles a single MPC.
- Parameters
-
[in] | mpc | Pointer to the MPC to resolve |
References Opm::Elasticity::MPC::addMaster(), Opm::Elasticity::MPC::addOffset(), Opm::Elasticity::MPC::DOF::coeff, Opm::Elasticity::MPC::DOF::dof, Opm::Elasticity::MPC::getMaster(), Opm::Elasticity::MPC::getNoMaster(), Opm::Elasticity::MPC::getSlave(), Opm::Elasticity::j, Opm::Elasticity::MPC::DOF::node, Opm::Elasticity::MPC::removeMaster(), and Opm::Elasticity::MPC::updateMaster().
Referenced by Opm::Elasticity::ASMHandler< GridType >::resolveMPCChains().
template<class GridType >
Update/add a fixed node.
- Parameters
-
[in] | node | The node number |
[in] | entry | The fixed values |
The dimension of the grid.
A reference to the grid in use.
The documentation for this class was generated from the following files:
|