3.4
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | Protected Attributes | List of all members
Dumux::MimeticOperatorAssemblerTwoP< TypeTag > Class Template Reference

Levelwise assembler. More...

#include <dumux/porousmediumflow/2p/sequential/diffusion/mimetic/operator.hh>

Inheritance diagram for Dumux::MimeticOperatorAssemblerTwoP< TypeTag >:

Description

template<class TypeTag>
class Dumux::MimeticOperatorAssemblerTwoP< TypeTag >

Levelwise assembler.

This class serves as a base class for 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.

Template Parameters
TypeTagThe problem Type Tag

Public Types

using RepresentationType = MatrixType
 

Public Member Functions

 MimeticOperatorAssemblerTwoP (const GridView &gridView)
 
template<class Vector >
void calculatePressure (LocalStiffness &loc, Vector &u, Problem &problem)
 
void initialize ()
 Initialize the CR operator assembler. More...
 
const RepresentationTypeoperator* () const
 Returns const reference to operator matrix. More...
 
RepresentationTypeoperator* ()
 Returns a reference to operator matrix. More...
 
const FaceMapper & faceMapper ()
 
const FaceMapper & faceMapper () const
 
template<class LocalStiffness , class Vector >
void assemble (LocalStiffness &loc, Vector &u, Vector &f)
 Assembles global stiffness matrix. More...
 

Protected Attributes

const GridView gridView_
 
FaceMapper faceMapper_
 
unsigned int size_
 
RepresentationType A_
 

Member Typedef Documentation

◆ RepresentationType

template<class TypeTag >
using Dumux::CROperatorAssemblerTwoP< TypeTag >::RepresentationType = MatrixType
inherited

Constructor & Destructor Documentation

◆ MimeticOperatorAssemblerTwoP()

template<class TypeTag >
Dumux::MimeticOperatorAssemblerTwoP< TypeTag >::MimeticOperatorAssemblerTwoP ( const GridView &  gridView)
inline

Member Function Documentation

◆ assemble()

template<class TypeTag >
template<class LocalStiffness , class Vector >
void Dumux::CROperatorAssemblerTwoP< TypeTag >::assemble ( LocalStiffness loc,
Vector &  u,
Vector &  f 
)
inlineinherited

Assembles global stiffness matrix.

This method takes an object that can compute local stiffness matrices and assembles the global linear system Au=f.

Parameters
locthe local assembler providing element stiffness and boundary conditions for all elements
usolution, contains initial values on input, Dirichlet values are set. The type of boundary condition for a node is inferred from the values returned by the local assembler. A node is of Neumann type if all elements referring to that node report a Neumann boundary condition, it is set to Dirichlet if a least one element reports a process or Dirichlet boundary condition. The difference between process and Dirichlet is that process always denotes a homogeneous Dirichlet value.
fright hand side is filled by this method

Note that the rows corresponding to nodes at the Dirichlet boundary are filled with trivial equations of the form

\[1\cdot u_i = f_i \]

where \(u_i\) and \(f_i\) are both set to the Dirichlet value at the \(i\)th node.

◆ calculatePressure()

template<class TypeTag >
template<class Vector >
void Dumux::MimeticOperatorAssemblerTwoP< TypeTag >::calculatePressure ( LocalStiffness &  loc,
Vector &  u,
Problem &  problem 
)
inline

◆ faceMapper() [1/2]

template<class TypeTag >
const FaceMapper & Dumux::CROperatorAssemblerTwoP< TypeTag >::faceMapper ( )
inlineinherited

◆ faceMapper() [2/2]

template<class TypeTag >
const FaceMapper & Dumux::CROperatorAssemblerTwoP< TypeTag >::faceMapper ( ) const
inlineinherited

◆ initialize()

template<class TypeTag >
void Dumux::CROperatorAssemblerTwoP< TypeTag >::initialize ( )
inlineinherited

Initialize the CR operator assembler.

◆ operator*() [1/2]

template<class TypeTag >
RepresentationType & Dumux::CROperatorAssemblerTwoP< TypeTag >::operator* ( )
inlineinherited

Returns a reference to operator matrix.

◆ operator*() [2/2]

template<class TypeTag >
const RepresentationType & Dumux::CROperatorAssemblerTwoP< TypeTag >::operator* ( ) const
inlineinherited

Returns const reference to operator matrix.

Member Data Documentation

◆ A_

template<class TypeTag >
RepresentationType Dumux::CROperatorAssemblerTwoP< TypeTag >::A_
protectedinherited

◆ faceMapper_

template<class TypeTag >
FaceMapper Dumux::CROperatorAssemblerTwoP< TypeTag >::faceMapper_
protectedinherited

◆ gridView_

template<class TypeTag >
const GridView Dumux::CROperatorAssemblerTwoP< TypeTag >::gridView_
protectedinherited

◆ size_

template<class TypeTag >
unsigned int Dumux::CROperatorAssemblerTwoP< TypeTag >::size_
protectedinherited

The documentation for this class was generated from the following file: