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

Extends CROperatorBase by a generic methods to assemble global stiffness matrix from local stiffness matrices. More...

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

Inheritance diagram for Dumux::CROperatorAssemblerTwoP< TypeTag >:
Inheritance graph

Description

template<class TypeTag>
class Dumux::CROperatorAssemblerTwoP< TypeTag >

Extends CROperatorBase by a generic methods to assemble global stiffness matrix from local stiffness matrices.

A class for mapping a CR function to a CR function This class sets up a compressed row storage matrix with connectivity for CR elements. This class does not fill any entries into the matrix.

The template parameter TypeTag describes what kind of Assembler we are. There two choices:

LevelTag We assemble on a grid level.

LeafTag We assemble on the leaf entities of the grid

Template Parameters
TypeTagThe problem Type Tag

Public Types

using RepresentationType = MatrixType
 

Public Member Functions

 CROperatorAssemblerTwoP (const GridView &gridview)
 
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

Constructor & Destructor Documentation

◆ CROperatorAssemblerTwoP()

template<class TypeTag >
Dumux::CROperatorAssemblerTwoP< TypeTag >::CROperatorAssemblerTwoP ( 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 
)
inline

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.

◆ faceMapper() [1/2]

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

◆ faceMapper() [2/2]

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

◆ initialize()

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

Initialize the CR operator assembler.

◆ operator*() [1/2]

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

Returns a reference to operator matrix.

◆ operator*() [2/2]

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

Returns const reference to operator matrix.

Member Data Documentation

◆ A_

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

◆ faceMapper_

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

◆ gridView_

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

◆ size_

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

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