compute local stiffness matrix for conforming finite elements for the full 2-phase pressure equation More...
#include <dumux/porousmediumflow/2p/sequential/diffusion/mimetic/mimeticadaptive.hh>
compute local stiffness matrix for conforming finite elements for the full 2-phase pressure equation
Public Types | |
enum | { m = 1 } |
enum | { size = 2 * dim } |
using | VBlockType = Dune::FieldVector< Scalar, m > |
using | MBlockType = Dune::FieldMatrix< Scalar, m, m > |
using | BCBlockType = std::array< BoundaryConditions::Flags, m > |
Public Member Functions | |
MimeticTwoPLocalStiffnessAdaptive (Problem &problem, bool levelBoundaryAsDirichlet, const GridView &gridView, const IntersectionMapper &intersectionMapper, bool procBoundaryAsDirichlet=true) | |
Constructor. More... | |
void | initialize () |
void | adapt () |
void | reset () |
void | setErrorInfo (Scalar maxErr, Scalar dt) |
int | numberOfFaces (int eIdxGlobal) |
void | assemble (const Element &element, int k=1) |
Assembles local stiffness matrix for given element and order. More... | |
void | assemble (const Element &cell, const Dune::BlockVector< VBlockType > &localSolution, int orderOfShapeFns=1) |
void | assembleBoundaryCondition (const Element &element, int k=1) |
Assembles only boundary conditions for given element. More... | |
template<class Vector > | |
void | completeRHS (const Element &element, std::vector< int > &local2Global, Vector &f) |
Scalar | constructPressure (const Element &element, Dune::DynamicVector< Scalar > &pressTrace) |
void | constructVelocity (const Element &element, Dune::DynamicVector< Scalar > &vel, Dune::DynamicVector< Scalar > &pressTrace, Scalar press) |
void | computeReconstructionMatrices (const Element &element, const Dune::DynamicMatrix< Scalar > &W, Dune::DynamicVector< Scalar > &F, Scalar &dInv) |
void | assembleElementMatrices (const Element &element, Dune::DynamicVector< Scalar > &faceVol, Dune::DynamicVector< Scalar > &F, Dune::DynamicMatrix< Scalar > &Pi, Scalar &dInv, Scalar &qmean) |
const Problem & | problem () const |
virtual void | assemble (const Entity &e, int k=1)=0 |
Assembles local stiffness matrix including boundary conditions for given element and order. More... | |
virtual void | assemble (const Entity &e, const Dune::BlockVector< VBlockType > &localSolution, int k=1)=0 |
assemble local stiffness matrix including boundary conditions for given element and order More... | |
virtual void | assembleBoundaryCondition (const Entity &e, int k=1)=0 |
assemble only boundary conditions for given element and order More... | |
void | print (std::ostream &s, int width, int precision) |
Prints contents of local stiffness matrix. More... | |
const MBlockType & | mat (int i, int j) const |
Accesses the local stiffness matrix. More... | |
const VBlockType & | rhs (int i) const |
Accesses right hand side. More... | |
const BoundaryTypes & | bc (int i) const |
Accesses boundary condition for each dof. More... | |
void | setcurrentsize (int s) |
Sets the current size of the local stiffness matrix. More... | |
int | currentsize () |
Gets the current size of the local stiffness matrix. More... | |
Protected Attributes | |
Dune::Matrix< MBlockType > | A |
std::vector< VBlockType > | b |
std::vector< BoundaryTypes > | bctype |
|
inherited |
|
inherited |
using Dumux::MimeticTwoPLocalStiffnessAdaptive< TypeTag >::VBlockType = Dune::FieldVector<Scalar, m> |
|
inline |
Constructor.
|
inline |
|
inline |
|
inline |
Assembles local stiffness matrix for given element and order.
On exit the following things have been done:
element | a codim 0 entity reference |
k | order of CR basis (only k = 1 is implemented) |
|
pure virtualinherited |
assemble local stiffness matrix including boundary conditions for given element and order
Unlike the method with only two arguments, this one additionally takes the local solution in order to allow assembly of nonlinear operators.
On exit the following things have been done:
e | a codim 0 entity reference |
localSolution | The current solution on the entity, which is needed by nonlinear assemblers |
k | order of Lagrange basis (default is 1) |
|
pure virtualinherited |
Assembles local stiffness matrix including boundary conditions for given element and order.
On exit the following things have been done:
e | a codim 0 entity reference |
k | order of Lagrange basis (default is 1) |
|
inline |
Assembles only boundary conditions for given element.
On exit the following things have been done:
element | a codim 0 entity reference |
k | order of CR basis |
|
pure virtualinherited |
assemble only boundary conditions for given element and order
On exit the following things have been done:
e | a codim 0 entity reference |
k | order of Lagrange basis (default is 1) |
void Dumux::MimeticTwoPLocalStiffnessAdaptive< TypeTag >::assembleElementMatrices | ( | const Element & | element, |
Dune::DynamicVector< Scalar > & | faceVol, | ||
Dune::DynamicVector< Scalar > & | F, | ||
Dune::DynamicMatrix< Scalar > & | Pi, | ||
Scalar & | dInv, | ||
Scalar & | qmean | ||
) |
|
inlineinherited |
Accesses boundary condition for each dof.
Access boundary condition type for each degree of freedom. Elements are undefined without prior call to the assemble method.
i | index i |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
Gets the current size of the local stiffness matrix.
|
inline |
|
inlineinherited |
Accesses the local stiffness matrix.
Access elements of the local stiffness matrix. Elements are undefined without prior call to the assemble method.
i | index i |
j | index j |
|
inline |
|
inlineinherited |
Prints contents of local stiffness matrix.
s | output stream |
width | the width |
precision | the precision |
|
inline |
|
inline |
|
inlineinherited |
Accesses right hand side.
Access elements of the right hand side vector. Elements are undefined without prior call to the assemble method.
i | index i |
|
inlineinherited |
Sets the current size of the local stiffness matrix.
s | size which is to be set |
|
inline |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |