dune-fem 2.8.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > > Class Template Reference

#include <dune/fem/operator/common/localcontribution.hh>

Inheritance diagram for Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >:
Inheritance graph

Public Types

typedef AssembledOperator AssembledOperatorType
 
typedef AssemblyOperation< AssembledOperatorAssemblyOperationType
 
typedef AssembledOperatorType::DomainFunctionType::DiscreteFunctionSpaceType DomainSpaceType
 
typedef AssembledOperatorType::RangeFunctionType::DiscreteFunctionSpaceType RangeSpaceType
 
typedef DomainSpaceType::BasisFunctionSetType DomainBasisFunctionSetType
 
typedef RangeSpaceType::BasisFunctionSetType RangeBasisFunctionSetType
 
typedef DomainBasisFunctionSetType::EntityType DomainEntityType
 
typedef RangeBasisFunctionSetType::EntityType RangeEntityType
 
typedef AssembledOperatorType::RangeFieldType value_type
 
typedef BaseType::MatrixEntriesType LocalMatrixEntriesType
 
typedef LocalMatrixEntriesType::size_type SizeType
 
typedef RowReferenceVector< value_typerow_reference
 
typedef RowReferenceVector< const value_typeconst_row_reference
 
typedef TemporaryLocalMatrixTraits< DomainSpaceType, RangeSpaceTypeTraits
 
typedef Traits::DomainFieldType DomainFieldType
 
typedef Traits::RangeFieldType RangeFieldType
 
typedef int size_type
 
typedef std::vector< RangeFieldTypeMatrixEntriesType
 
typedef T Ttype
 
typedef std::vector< T > RowType
 remember the value type
 
typedef ThisType LocalMatrixInterfaceType
 type of this interface
 
typedef Traits::LocalMatrixType LocalMatrixType
 type of local matrix implementation
 
typedef Traits::LittleBlockType LittleBlockType
 
typedef MatrixColumnObject< TraitsMatrixColumnType
 

Public Member Functions

template<class... Args>
 LocalContribution (AssembledOperator &assembledOperator, Args &&... args)
 
 LocalContribution (const ThisType &)=delete
 
 LocalContribution (ThisType &&)=delete
 
 ~LocalContribution ()
 
ThisTypeoperator= (const ThisType &)=delete
 
ThisTypeoperator= (ThisType &&)=delete
 
const AssembledOperatorTypeassembledOperator () const
 
AssembledOperatorTypeassembledOperator ()
 
SubVector< LocalMatrixEntriesType, ColIndexMapper > column (SizeType j)
 
SubVector< const LocalMatrixEntriesType, ColIndexMapper > column (SizeType j) const
 
BaseType::MatrixColumnType matrixColumn (SizeType j)
 
template<class Point , class... Factors>
auto axpy (const Point &x, const Factors &... factors) -> std::enable_if_t< Std::And((IsRangeValue< std::decay_t< decltype(std::declval< Factors & >()[0]) > >::value)...) >
 
int order () const
 obtain the order of this local contribution
 
void bind (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity)
 initialize the local matrix to entities
 
void unbind ()
 clear local matrix from entities
 
const LocalMatrixEntriesTypelocalMatrixEntries () const
 return const reference to vector of local matrix entries
 
LocalMatrixEntriesTypelocalMatrixEntries ()
 return reference to vector of local matrix entries
 
void init (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity)
 initialize the local matrix to entities
 
void init (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity)
 initialize the local matrix to entities
 
void bind (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity)
 initialize the local matrix to entities
 
void bind (const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity)
 initialize the local matrix to entities
 
void add (const int localRow, const int localCol, const RangeFieldType &value)
 add value to matrix entry (row,col) where row and col are local row and local column
 
void add (const int localRow, const int localCol, const RangeFieldType &value)
 add value to matrix entry (row,col) where row and col are local row and local column
 
void set (const int localRow, const int localCol, const RangeFieldType &value)
 set value of matrix entry (row,col) where row and col are local row and local column
 
void set (const int localRow, const int localCol, const RangeFieldType &value)
 set value of matrix entry (row,col) where row and col are local row and local column
 
const RangeFieldType get (const int localRow, const int localCol) const
 get value of matrix entry (row,col) where row and col are local row and local column
 
void scale (const RangeFieldType &value)
 scale matrix with scalar value
 
void scale (const T &val)
 scale matrix with scalar
 
void scale (const RangeFieldType &scalar)
 scale matrix with scalar value
 
void clear ()
 set all entries of local matrix to zero
 
void clearRow (const int localRow)
 set row to zero values
 
size_type rows () const
 
size_type cols () const
 
size_type columns () const
 
size_type mat_rows () const
 
row_reference mat_access (size_type i)
 
const_row_reference mat_access (size_type i) const
 
const RangeFieldTypedata () const
 
const DomainBasisFunctionSetTypedomainBasisFunctionSet () const
 access to the base function set within the domain space
 
const RangeBasisFunctionSetTyperangeBasisFunctionSet () const
 access to the base function set within the range space
 
void resize (int rows, int cols)
 
T & operator() (int row, int col)
 
const T & operator() (int row, int col) const
 
RowTypeoperator[] (int row)
 
const RowTypeoperator[] (int row) const
 
void mult (const T *vec, RowType &result) const
 
void mult (const RowType &vec, RowType &result) const
 
void multOEM (const T *vec, T *result) const
 
void multTransposed (const RowType &vec, RowType &result) const
 
void multiply (const DenseMatrix &A, const DenseMatrix &B)
 
void multiplyTransposed (const DenseMatrix &A, const DenseMatrix &B)
 
void multiply_AT_A (const DenseMatrix &A)
 this = A^T * A
 
DenseMatrix< T > & operator+= (const DenseMatrix &org)
 add matrix
 
DenseMatrix< T > & operator-= (const DenseMatrix &org)
 substract matrix
 
void print (std::ostream &s=std::cout) const
 print matrix
 
void resort ()
 resort ordering in global matrix (if possible)
 
void finalize ()
 finalize local matrix setup and possibly add values to real matrix
 
const DomainSpaceTypedomainSpace () const
 access to the domain space
 
const RangeSpaceTyperangeSpace () const
 access to the range space
 
const DomainEntityTypedomainEntity () const
 
const RangeEntityTyperangeEntity () const
 
template<class DomainLocalFunctionType , class RangeLocalFunctionType >
void multiplyAdd (const DomainLocalFunctionType &lhs, RangeLocalFunctionType &rhs) const
 multiply left hand side with local matrix and add to right hand side rhs += Matrix * lhs
 
void clearCol (const int localCol)
 ser column entries to zero
 
MatrixColumnType column (const unsigned int col)
 return column object for local matrix which contains axpy methods for convenience
 

Protected Member Functions

size_type mat_cols () const
 
const Implementation & asImp () const
 
Implementation & asImp ()
 

Static Protected Member Functions

static const Implementation & asImp (const ThisType &other)
 
static Implementation & asImp (ThisType &other)
 
static const LocalMatrixTraits::LocalMatrixType & asImp (const ThisType &other)
 
static LocalMatrixTraits::LocalMatrixType & asImp (ThisType &other)
 

Protected Attributes

AssembledOperatorTypeassembledOperator_
 
AssemblyOperationType assemblyOperation_
 
MatrixEntriesType fields_
 
const DomainSpaceTypedomainSpace_
 
const RangeSpaceTyperangeSpace_
 
DomainBasisFunctionSetType domainBaseSet_
 
RangeBasisFunctionSetType rangeBaseSet_
 
std::optional< DomainEntityTypedomainEntity_
 
std::optional< RangeEntityTyperangeEntity_
 

Member Typedef Documentation

◆ AssembledOperatorType

template<class AssembledOperator , template< class > class AssemblyOperation>
typedef AssembledOperator Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::AssembledOperatorType

◆ AssemblyOperationType

template<class AssembledOperator , template< class > class AssemblyOperation>
typedef AssemblyOperation< AssembledOperator > Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::AssemblyOperationType

◆ const_row_reference

template<class AssembledOperator , template< class > class AssemblyOperation>
typedef RowReferenceVector< const value_type > Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::const_row_reference

◆ DomainBasisFunctionSetType

template<class AssembledOperator , template< class > class AssemblyOperation>
typedef DomainSpaceType::BasisFunctionSetType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::DomainBasisFunctionSetType

◆ DomainEntityType

template<class AssembledOperator , template< class > class AssemblyOperation>
typedef DomainBasisFunctionSetType::EntityType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::DomainEntityType

◆ DomainFieldType

typedef Traits::DomainFieldType Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::DomainFieldType
inherited

◆ DomainSpaceType

template<class AssembledOperator , template< class > class AssemblyOperation>
typedef AssembledOperatorType::DomainFunctionType::DiscreteFunctionSpaceType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::DomainSpaceType

◆ LittleBlockType

template<class LocalMatrixTraits >
typedef Traits::LittleBlockType Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::LittleBlockType
inherited

type of block (i.e. FieldMatrix for BlockMatrices

◆ LocalMatrixEntriesType

template<class AssembledOperator , template< class > class AssemblyOperation>
typedef BaseType::MatrixEntriesType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::LocalMatrixEntriesType

◆ LocalMatrixInterfaceType

template<class LocalMatrixTraits >
typedef ThisType Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::LocalMatrixInterfaceType
inherited

type of this interface

◆ LocalMatrixType

template<class LocalMatrixTraits >
typedef Traits::LocalMatrixType Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::LocalMatrixType
inherited

type of local matrix implementation

◆ MatrixColumnType

template<class LocalMatrixTraits >
typedef MatrixColumnObject< Traits > Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::MatrixColumnType
inherited

◆ MatrixEntriesType

typedef std::vector< RangeFieldType > Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::MatrixEntriesType
inherited

◆ RangeBasisFunctionSetType

template<class AssembledOperator , template< class > class AssemblyOperation>
typedef RangeSpaceType::BasisFunctionSetType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::RangeBasisFunctionSetType

◆ RangeEntityType

template<class AssembledOperator , template< class > class AssemblyOperation>
typedef RangeBasisFunctionSetType::EntityType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::RangeEntityType

◆ RangeFieldType

typedef Traits::RangeFieldType Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::RangeFieldType
inherited

◆ RangeSpaceType

template<class AssembledOperator , template< class > class AssemblyOperation>
typedef AssembledOperatorType::RangeFunctionType::DiscreteFunctionSpaceType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::RangeSpaceType

◆ row_reference

template<class AssembledOperator , template< class > class AssemblyOperation>
typedef RowReferenceVector< value_type > Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::row_reference

◆ RowType

template<class T >
typedef std::vector< T > Dune::Fem::DenseMatrix< T >::RowType
inherited

remember the value type

◆ size_type

typedef int Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::size_type
inherited

◆ SizeType

template<class AssembledOperator , template< class > class AssemblyOperation>
typedef LocalMatrixEntriesType::size_type Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::SizeType

◆ Traits

typedef TemporaryLocalMatrixTraits< DomainSpaceType, RangeSpaceType > Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::Traits
inherited

◆ Ttype

template<class T >
typedef T Dune::Fem::DenseMatrix< T >::Ttype
inherited

◆ value_type

template<class AssembledOperator , template< class > class AssemblyOperation>
typedef AssembledOperatorType::RangeFieldType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::value_type

Constructor & Destructor Documentation

◆ LocalContribution() [1/3]

template<class AssembledOperator , template< class > class AssemblyOperation>
template<class... Args>
Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::LocalContribution ( AssembledOperator assembledOperator,
Args &&...  args 
)
inlineexplicit

◆ LocalContribution() [2/3]

template<class AssembledOperator , template< class > class AssemblyOperation>
Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::LocalContribution ( const ThisType )
delete

◆ LocalContribution() [3/3]

template<class AssembledOperator , template< class > class AssemblyOperation>
Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::LocalContribution ( ThisType &&  )
delete

◆ ~LocalContribution()

template<class AssembledOperator , template< class > class AssemblyOperation>
Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::~LocalContribution ( )
inline

Member Function Documentation

◆ add() [1/2]

template<class LocalMatrixTraits >
void Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::add ( const int  localRow,
const int  localCol,
const RangeFieldType value 
)
inlineinherited

add value to matrix entry (row,col) where row and col are local row and local column

Parameters
[in]localRowlocal row
[in]localCollocal column
[in]valuevalue to add

◆ add() [2/2]

void Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::add ( const int  localRow,
const int  localCol,
const RangeFieldType value 
)
inlineinherited

add value to matrix entry (row,col) where row and col are local row and local column

Parameters
[in]localRowlocal row
[in]localCollocal column
[in]valuevalue to add

◆ asImp() [1/6]

template<class LocalMatrixTraits >
Implementation & Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( )
inlineprotectedinherited

◆ asImp() [2/6]

template<class LocalMatrixTraits >
const Implementation & Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( ) const
inlineprotectedinherited

◆ asImp() [3/6]

static const LocalMatrixTraits::LocalMatrixType & Dune::Fem::BartonNackmanInterface< LocalMatrixInterface< LocalMatrixTraits > , LocalMatrixTraits::LocalMatrixType >::asImp ( const ThisType other)
inlinestaticprotectedinherited

◆ asImp() [4/6]

template<class LocalMatrixTraits >
static const Implementation & Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( const ThisType other)
inlinestaticprotectedinherited

◆ asImp() [5/6]

static LocalMatrixTraits::LocalMatrixType & Dune::Fem::BartonNackmanInterface< LocalMatrixInterface< LocalMatrixTraits > , LocalMatrixTraits::LocalMatrixType >::asImp ( ThisType other)
inlinestaticprotectedinherited

◆ asImp() [6/6]

template<class LocalMatrixTraits >
static Implementation & Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( ThisType other)
inlinestaticprotectedinherited

◆ assembledOperator() [1/2]

template<class AssembledOperator , template< class > class AssemblyOperation>
AssembledOperatorType & Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::assembledOperator ( )
inline

◆ assembledOperator() [2/2]

template<class AssembledOperator , template< class > class AssemblyOperation>
const AssembledOperatorType & Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::assembledOperator ( ) const
inline

◆ axpy()

template<class AssembledOperator , template< class > class AssemblyOperation>
template<class Point , class... Factors>
auto Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::axpy ( const Point &  x,
const Factors &...  factors 
) -> std::enable_if_t< Std::And( (IsRangeValue< std::decay_t< decltype( std::declval< Factors & >()[ 0 ] ) > >::value)... ) >
inline

◆ bind() [1/3]

template<class AssembledOperator , template< class > class AssemblyOperation>
void Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::bind ( const DomainEntityType domainEntity,
const RangeEntityType rangeEntity 
)
inline

initialize the local matrix to entities

Parameters
[in]domainEntityentity within grid of domain space,
[in]rangeEntityentity within grid of range space

◆ bind() [2/3]

template<class LocalMatrixTraits >
void Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::bind ( const DomainEntityType domainEntity,
const RangeEntityType rangeEntity 
)
inlineinherited

initialize the local matrix to entities

Parameters
[in]domainEntityentity within grid of domain space,
[in]rangeEntityentity within grid of range space

◆ bind() [3/3]

void Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::bind ( const DomainEntityType domainEntity,
const RangeEntityType rangeEntity 
)
inlineinherited

initialize the local matrix to entities

Parameters
[in]domainEntityentity within grid of domain space,
[in]rangeEntityentity within grid of range space

◆ clear()

void Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::clear ( )
inlineinherited

set all entries of local matrix to zero

◆ clearCol()

template<class LocalMatrixTraits >
void Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::clearCol ( const int  localCol)
inlineinherited

ser column entries to zero

Parameters
[in]localCollocal column that is set to zero

◆ clearRow()

void Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::clearRow ( const int  localRow)
inlineinherited

set row to zero values

Parameters
[in]localRowlocal row that is set to zero

◆ cols()

size_type Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::cols ( ) const
inlineinherited

◆ column() [1/3]

template<class LocalMatrixTraits >
MatrixColumnType Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::column ( const unsigned int  col)
inlineinherited

return column object for local matrix which contains axpy methods for convenience

Parameters
collocal column number
Returns
object of type MatrixColumnObject

◆ column() [2/3]

template<class AssembledOperator , template< class > class AssemblyOperation>
SubVector< LocalMatrixEntriesType, ColIndexMapper > Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::column ( SizeType  j)
inline

◆ column() [3/3]

template<class AssembledOperator , template< class > class AssemblyOperation>
SubVector< const LocalMatrixEntriesType, ColIndexMapper > Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::column ( SizeType  j) const
inline

◆ columns()

size_type Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::columns ( ) const
inlineinherited

◆ data()

const RangeFieldType * Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::data ( ) const
inlineinherited

◆ domainBasisFunctionSet()

const DomainBasisFunctionSetType & Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::domainBasisFunctionSet ( ) const
inlineinherited

access to the base function set within the domain space

◆ domainEntity()

template<class LocalMatrixTraits >
const DomainEntityType & Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::domainEntity ( ) const
inlineinherited

◆ domainSpace()

template<class LocalMatrixTraits >
const DomainSpaceType & Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::domainSpace ( ) const
inlineinherited

access to the domain space

◆ finalize()

template<class LocalMatrixTraits >
void Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::finalize ( )
inlineinherited

finalize local matrix setup and possibly add values to real matrix

◆ get()

const RangeFieldType Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::get ( const int  localRow,
const int  localCol 
) const
inlineinherited

get value of matrix entry (row,col) where row and col are local row and local column

Parameters
[in]localRowlocal row
[in]localCollocal column
Returns
value of matrix entry

◆ init() [1/2]

template<class LocalMatrixTraits >
void Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::init ( const DomainEntityType domainEntity,
const RangeEntityType rangeEntity 
)
inlineinherited

initialize the local matrix to entities

Parameters
[in]domainEntityentity within grid of domain space,
[in]rangeEntityentity within grid of range space

◆ init() [2/2]

void Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::init ( const DomainEntityType domainEntity,
const RangeEntityType rangeEntity 
)
inlineinherited

initialize the local matrix to entities

Parameters
[in]domainEntityentity within grid of domain space,
[in]rangeEntityentity within grid of range space

◆ localMatrixEntries() [1/2]

template<class AssembledOperator , template< class > class AssemblyOperation>
LocalMatrixEntriesType & Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::localMatrixEntries ( )
inline

return reference to vector of local matrix entries

◆ localMatrixEntries() [2/2]

template<class AssembledOperator , template< class > class AssemblyOperation>
const LocalMatrixEntriesType & Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::localMatrixEntries ( ) const
inline

return const reference to vector of local matrix entries

◆ mat_access() [1/2]

row_reference Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::mat_access ( size_type  i)
inlineinherited

◆ mat_access() [2/2]

const_row_reference Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::mat_access ( size_type  i) const
inlineinherited

◆ mat_cols()

template<class AssembledOperator , template< class > class AssemblyOperation>
size_type Dune::Fem::TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp >::mat_cols ( ) const
inlineprotected

◆ mat_rows()

size_type Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::mat_rows ( ) const
inlineinherited

◆ matrixColumn()

template<class AssembledOperator , template< class > class AssemblyOperation>
BaseType::MatrixColumnType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::matrixColumn ( SizeType  j)
inline

◆ mult() [1/2]

template<class T >
void Dune::Fem::DenseMatrix< T >::mult ( const RowType vec,
RowType result 
) const
inlineinherited

◆ mult() [2/2]

template<class T >
void Dune::Fem::DenseMatrix< T >::mult ( const T *  vec,
RowType result 
) const
inlineinherited

◆ multiply()

template<class T >
void Dune::Fem::DenseMatrix< T >::multiply ( const DenseMatrix< T > &  A,
const DenseMatrix< T > &  B 
)
inlineinherited

◆ multiply_AT_A()

template<class T >
void Dune::Fem::DenseMatrix< T >::multiply_AT_A ( const DenseMatrix< T > &  A)
inlineinherited

this = A^T * A

◆ multiplyAdd()

template<class LocalMatrixTraits >
template<class DomainLocalFunctionType , class RangeLocalFunctionType >
void Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::multiplyAdd ( const DomainLocalFunctionType &  lhs,
RangeLocalFunctionType &  rhs 
) const
inlineinherited

multiply left hand side with local matrix and add to right hand side rhs += Matrix * lhs

Parameters
[in]lhsleft hand side
[out]rhsright hand side

◆ multiplyTransposed()

template<class T >
void Dune::Fem::DenseMatrix< T >::multiplyTransposed ( const DenseMatrix< T > &  A,
const DenseMatrix< T > &  B 
)
inlineinherited

◆ multOEM()

template<class T >
void Dune::Fem::DenseMatrix< T >::multOEM ( const T *  vec,
T *  result 
) const
inlineinherited

◆ multTransposed()

template<class T >
void Dune::Fem::DenseMatrix< T >::multTransposed ( const RowType vec,
RowType result 
) const
inlineinherited

◆ operator()() [1/2]

template<class T >
T & Dune::Fem::DenseMatrix< T >::operator() ( int  row,
int  col 
)
inlineinherited

◆ operator()() [2/2]

template<class T >
const T & Dune::Fem::DenseMatrix< T >::operator() ( int  row,
int  col 
) const
inlineinherited

◆ operator+=()

template<class T >
DenseMatrix< T > & Dune::Fem::DenseMatrix< T >::operator+= ( const DenseMatrix< T > &  org)
inlineinherited

add matrix

◆ operator-=()

template<class T >
DenseMatrix< T > & Dune::Fem::DenseMatrix< T >::operator-= ( const DenseMatrix< T > &  org)
inlineinherited

substract matrix

◆ operator=() [1/2]

template<class AssembledOperator , template< class > class AssemblyOperation>
ThisType & Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::operator= ( const ThisType )
delete

◆ operator=() [2/2]

template<class AssembledOperator , template< class > class AssemblyOperation>
ThisType & Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::operator= ( ThisType &&  )
delete

◆ operator[]() [1/2]

template<class T >
RowType & Dune::Fem::DenseMatrix< T >::operator[] ( int  row)
inlineinherited

◆ operator[]() [2/2]

template<class T >
const RowType & Dune::Fem::DenseMatrix< T >::operator[] ( int  row) const
inlineinherited

◆ order()

template<class AssembledOperator , template< class > class AssemblyOperation>
int Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::order ( ) const
inline

obtain the order of this local contribution

The order of a local contribution refers to the polynomial order required to integrate it exactly.

Note
It is not completely clear what this value should be, e.g., for bilinear basis functions.
Returns
order of the local contribution

◆ print()

template<class T >
void Dune::Fem::DenseMatrix< T >::print ( std::ostream &  s = std::cout) const
inlineinherited

print matrix

◆ rangeBasisFunctionSet()

const RangeBasisFunctionSetType & Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::rangeBasisFunctionSet ( ) const
inlineinherited

access to the base function set within the range space

◆ rangeEntity()

template<class LocalMatrixTraits >
const RangeEntityType & Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::rangeEntity ( ) const
inlineinherited

◆ rangeSpace()

template<class LocalMatrixTraits >
const RangeSpaceType & Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::rangeSpace ( ) const
inlineinherited

access to the range space

◆ resize()

template<class T >
void Dune::Fem::DenseMatrix< T >::resize ( int  rows,
int  cols 
)
inlineinherited

◆ resort()

template<class LocalMatrixTraits >
void Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::resort ( )
inlineinherited

resort ordering in global matrix (if possible)

◆ rows()

size_type Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::rows ( ) const
inlineinherited

◆ scale() [1/3]

template<class LocalMatrixTraits >
void Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::scale ( const RangeFieldType scalar)
inlineinherited

scale matrix with scalar value

Parameters
[in]scalarscalar value that scales the matrix

◆ scale() [2/3]

void Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::scale ( const RangeFieldType value)
inlineinherited

scale matrix with scalar value

Parameters
[in]scalarscalar value that scales the matrix

◆ scale() [3/3]

template<class T >
void Dune::Fem::DenseMatrix< T >::scale ( const T &  val)
inlineinherited

scale matrix with scalar

◆ set() [1/2]

template<class LocalMatrixTraits >
void Dune::Fem::LocalMatrixInterface< LocalMatrixTraits >::set ( const int  localRow,
const int  localCol,
const RangeFieldType value 
)
inlineinherited

set value of matrix entry (row,col) where row and col are local row and local column

Parameters
[in]localRowlocal row
[in]localCollocal column
[in]valuevalue to set

◆ set() [2/2]

void Dune::Fem::TemporaryLocalMatrix< AssembledOperator::DomainFunctionType::DiscreteFunctionSpaceType , AssembledOperator::RangeFunctionType::DiscreteFunctionSpaceType >::set ( const int  localRow,
const int  localCol,
const RangeFieldType value 
)
inlineinherited

set value of matrix entry (row,col) where row and col are local row and local column

Parameters
[in]localRowlocal row
[in]localCollocal column
[in]valuevalue to set

◆ unbind()

template<class AssembledOperator , template< class > class AssemblyOperation>
void Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::unbind ( )
inline

clear local matrix from entities

Member Data Documentation

◆ assembledOperator_

template<class AssembledOperator , template< class > class AssemblyOperation>
AssembledOperatorType& Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::assembledOperator_
protected

◆ assemblyOperation_

template<class AssembledOperator , template< class > class AssemblyOperation>
AssemblyOperationType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::assemblyOperation_
protected

◆ domainBaseSet_

template<class LocalMatrixTraits >
DomainBasisFunctionSetType Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::domainBaseSet_
protectedinherited

◆ domainEntity_

template<class LocalMatrixTraits >
std::optional< DomainEntityType > Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::domainEntity_
protectedinherited

◆ domainSpace_

template<class LocalMatrixTraits >
const DomainSpaceType& Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::domainSpace_
protectedinherited

◆ fields_

template<class AssembledOperator , template< class > class AssemblyOperation>
MatrixEntriesType Dune::Fem::TemporaryLocalMatrix< DomainSpaceImp, RangeSpaceImp >::fields_
protected

◆ rangeBaseSet_

template<class LocalMatrixTraits >
RangeBasisFunctionSetType Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::rangeBaseSet_
protectedinherited

◆ rangeEntity_

template<class LocalMatrixTraits >
std::optional< RangeEntityType > Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::rangeEntity_
protectedinherited

◆ rangeSpace_

template<class LocalMatrixTraits >
const RangeSpaceType& Dune::Fem::LocalMatrixDefault< LocalMatrixTraits >::rangeSpace_
protectedinherited

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