3.3.0
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::CROperatorAssemblerTwoPAdaptive< 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/croperatoradaptive.hh>

Inheritance diagram for Dumux::CROperatorAssemblerTwoPAdaptive< TypeTag >:

Description

template<class TypeTag>
class Dumux::CROperatorAssemblerTwoPAdaptive< 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

 CROperatorAssemblerTwoPAdaptive (const GridView &gridview)
 
void initialize ()
 
void adapt ()
 
const RepresentationTypeoperator* () const
 Returns const reference to operator matrix. More...
 
RepresentationTypeoperator* ()
 Returns a reference to operator matrix. More...
 
const IntersectionMapperintersectionMapper ()
 
const IntersectionMapperintersectionMapper () const
 
template<class LocalStiffness , class Vector >
void assemble (LocalStiffness &loc, Vector &u, Vector &f)
 Assembles global stiffness matrix. More...
 
void updateMatrix ()
 

Protected Attributes

const GridView gridView_
 
const IS & is_
 
IntersectionMapper intersectionMapper_
 
RepresentationType A_
 

Member Typedef Documentation

◆ RepresentationType

template<class TypeTag >
using Dumux::CROperatorAssemblerTwoPAdaptive< TypeTag >::RepresentationType = MatrixType

Constructor & Destructor Documentation

◆ CROperatorAssemblerTwoPAdaptive()

template<class TypeTag >
Dumux::CROperatorAssemblerTwoPAdaptive< TypeTag >::CROperatorAssemblerTwoPAdaptive ( const GridView &  gridview)
inline

Member Function Documentation

◆ adapt()

template<class TypeTag >
void Dumux::CROperatorAssemblerTwoPAdaptive< TypeTag >::adapt ( )
inline

◆ assemble()

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

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
[in,out]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.

◆ initialize()

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

◆ intersectionMapper() [1/2]

template<class TypeTag >
const IntersectionMapper & Dumux::CROperatorAssemblerTwoPAdaptive< TypeTag >::intersectionMapper ( )
inline

◆ intersectionMapper() [2/2]

template<class TypeTag >
const IntersectionMapper & Dumux::CROperatorAssemblerTwoPAdaptive< TypeTag >::intersectionMapper ( ) const
inline

◆ operator*() [1/2]

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

Returns a reference to operator matrix.

◆ operator*() [2/2]

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

Returns const reference to operator matrix.

◆ updateMatrix()

template<class TypeTag >
void Dumux::CROperatorAssemblerTwoPAdaptive< TypeTag >::updateMatrix

Member Data Documentation

◆ A_

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

◆ gridView_

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

◆ intersectionMapper_

template<class TypeTag >
IntersectionMapper Dumux::CROperatorAssemblerTwoPAdaptive< TypeTag >::intersectionMapper_
protected

◆ is_

template<class TypeTag >
const IS& Dumux::CROperatorAssemblerTwoPAdaptive< TypeTag >::is_
protected

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