Base class for linear local assemblers. More...
#include <dumux/porousmediumflow/2p/sequential/diffusion/mimetic/localstiffness.hh>

Base class for linear local assemblers.
This class serves as a base class for linear local assemblers. It provides space and access to the local stiffness matrix. The actual assembling is done in a derived class via the virtual assemble method.
| TypeTag | The problem TypeTag |
| m | number of degrees of freedom per node (system size) |
Public Types | |
| using | MBlockType = Dune::FieldMatrix< Scalar, m, m > |
| using | VBlockType = Dune::FieldVector< Scalar, m > |
| using | BCBlockType = std::array< BoundaryConditions::Flags, m > |
| using | BoundaryTypes = GetPropType< TypeTag, Properties::BoundaryTypes > |
Public Member Functions | |
| LinearLocalStiffness () | |
| virtual | ~LinearLocalStiffness () |
| 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) |
| Assembles 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 |
| using Dumux::LinearLocalStiffness< TypeTag, m >::BCBlockType = std::array<BoundaryConditions::Flags, m> |
|
inherited |
| using Dumux::LinearLocalStiffness< TypeTag, m >::MBlockType = Dune::FieldMatrix<Scalar, m, m> |
| using Dumux::LinearLocalStiffness< TypeTag, m >::VBlockType = Dune::FieldVector<Scalar, m> |
|
inline |
Initialize local stiffness matrix
|
inlinevirtual |
|
inlinevirtual |
Assembles local stiffness matrix including boundary conditions for given element and order.
Since this is a base class for linear assemblers, the local solution will be ignored.
| 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) |
Implements Dumux::LocalStiffness< TypeTag, m >.
|
pure virtual |
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) |
Implements Dumux::LocalStiffness< TypeTag, m >.
|
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) |
|
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 |
|
inlineinherited |
Gets the current size of the local stiffness matrix.
|
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 |
|
inlineinherited |
Prints contents of local stiffness matrix.
| s | output stream |
| width | the width |
| precision | the precision |
|
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 |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |