dune-fem 2.8.0
|
#include <dune/fem/operator/common/localcontribution.hh>
Public Types | |
typedef AssembledOperator | AssembledOperatorType |
typedef AssemblyOperation< AssembledOperator > | AssemblyOperationType |
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_type > | row_reference |
typedef RowReferenceVector< const value_type > | const_row_reference |
typedef TemporaryLocalMatrixTraits< DomainSpaceType, RangeSpaceType > | Traits |
typedef Traits::DomainFieldType | DomainFieldType |
typedef Traits::RangeFieldType | RangeFieldType |
typedef int | size_type |
typedef std::vector< RangeFieldType > | MatrixEntriesType |
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< Traits > | MatrixColumnType |
Public Member Functions | |
template<class... Args> | |
LocalContribution (AssembledOperator &assembledOperator, Args &&... args) | |
LocalContribution (const ThisType &)=delete | |
LocalContribution (ThisType &&)=delete | |
~LocalContribution () | |
ThisType & | operator= (const ThisType &)=delete |
ThisType & | operator= (ThisType &&)=delete |
const AssembledOperatorType & | assembledOperator () const |
AssembledOperatorType & | assembledOperator () |
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 LocalMatrixEntriesType & | localMatrixEntries () const |
return const reference to vector of local matrix entries | |
LocalMatrixEntriesType & | localMatrixEntries () |
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 RangeFieldType * | data () const |
const DomainBasisFunctionSetType & | domainBasisFunctionSet () const |
access to the base function set within the domain space | |
const RangeBasisFunctionSetType & | rangeBasisFunctionSet () 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 |
RowType & | operator[] (int row) |
const RowType & | operator[] (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 DomainSpaceType & | domainSpace () const |
access to the domain space | |
const RangeSpaceType & | rangeSpace () const |
access to the range space | |
const DomainEntityType & | domainEntity () const |
const RangeEntityType & | rangeEntity () 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 | |
AssembledOperatorType & | assembledOperator_ |
AssemblyOperationType | assemblyOperation_ |
MatrixEntriesType | fields_ |
const DomainSpaceType & | domainSpace_ |
const RangeSpaceType & | rangeSpace_ |
DomainBasisFunctionSetType | domainBaseSet_ |
RangeBasisFunctionSetType | rangeBaseSet_ |
std::optional< DomainEntityType > | domainEntity_ |
std::optional< RangeEntityType > | rangeEntity_ |
typedef AssembledOperator Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::AssembledOperatorType |
typedef AssemblyOperation< AssembledOperator > Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::AssemblyOperationType |
typedef RowReferenceVector< const value_type > Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::const_row_reference |
typedef DomainSpaceType::BasisFunctionSetType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::DomainBasisFunctionSetType |
typedef DomainBasisFunctionSetType::EntityType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::DomainEntityType |
|
inherited |
typedef AssembledOperatorType::DomainFunctionType::DiscreteFunctionSpaceType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::DomainSpaceType |
|
inherited |
type of block (i.e. FieldMatrix for BlockMatrices
typedef BaseType::MatrixEntriesType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::LocalMatrixEntriesType |
|
inherited |
type of this interface
|
inherited |
type of local matrix implementation
|
inherited |
|
inherited |
typedef RangeSpaceType::BasisFunctionSetType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::RangeBasisFunctionSetType |
typedef RangeBasisFunctionSetType::EntityType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::RangeEntityType |
|
inherited |
typedef AssembledOperatorType::RangeFunctionType::DiscreteFunctionSpaceType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::RangeSpaceType |
typedef RowReferenceVector< value_type > Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::row_reference |
|
inherited |
remember the value type
|
inherited |
typedef LocalMatrixEntriesType::size_type Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::SizeType |
|
inherited |
|
inherited |
typedef AssembledOperatorType::RangeFieldType Dune::Fem::LocalContribution< AssembledOperator, AssemblyOperation, std::enable_if_t< Fem::IsAssembledOperator< AssembledOperator >::value > >::value_type |
|
inlineexplicit |
|
delete |
|
delete |
|
inline |
|
inlineinherited |
add value to matrix entry (row,col) where row and col are local row and local column
[in] | localRow | local row |
[in] | localCol | local column |
[in] | value | value to add |
|
inlineinherited |
add value to matrix entry (row,col) where row and col are local row and local column
[in] | localRow | local row |
[in] | localCol | local column |
[in] | value | value to add |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inline |
|
inline |
|
inline |
|
inline |
initialize the local matrix to entities
[in] | domainEntity | entity within grid of domain space, |
[in] | rangeEntity | entity within grid of range space |
|
inlineinherited |
initialize the local matrix to entities
[in] | domainEntity | entity within grid of domain space, |
[in] | rangeEntity | entity within grid of range space |
|
inlineinherited |
initialize the local matrix to entities
[in] | domainEntity | entity within grid of domain space, |
[in] | rangeEntity | entity within grid of range space |
|
inlineinherited |
set all entries of local matrix to zero
|
inlineinherited |
ser column entries to zero
[in] | localCol | local column that is set to zero |
|
inlineinherited |
set row to zero values
[in] | localRow | local row that is set to zero |
|
inlineinherited |
|
inlineinherited |
return column object for local matrix which contains axpy methods for convenience
col | local column number |
|
inline |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
access to the base function set within the domain space
|
inlineinherited |
|
inlineinherited |
access to the domain space
|
inlineinherited |
finalize local matrix setup and possibly add values to real matrix
|
inlineinherited |
get value of matrix entry (row,col) where row and col are local row and local column
[in] | localRow | local row |
[in] | localCol | local column |
|
inlineinherited |
initialize the local matrix to entities
[in] | domainEntity | entity within grid of domain space, |
[in] | rangeEntity | entity within grid of range space |
|
inlineinherited |
initialize the local matrix to entities
[in] | domainEntity | entity within grid of domain space, |
[in] | rangeEntity | entity within grid of range space |
|
inline |
return reference to vector of local matrix entries
|
inline |
return const reference to vector of local matrix entries
|
inlineinherited |
|
inlineinherited |
|
inlineprotected |
|
inlineinherited |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
this = A^T * A
|
inlineinherited |
multiply left hand side with local matrix and add to right hand side rhs += Matrix * lhs
[in] | lhs | left hand side |
[out] | rhs | right hand side |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
add matrix
|
inlineinherited |
substract matrix
|
delete |
|
delete |
|
inlineinherited |
|
inlineinherited |
|
inline |
obtain the order of this local contribution
The order of a local contribution refers to the polynomial order required to integrate it exactly.
|
inlineinherited |
print matrix
|
inlineinherited |
access to the base function set within the range space
|
inlineinherited |
|
inlineinherited |
access to the range space
|
inlineinherited |
|
inlineinherited |
resort ordering in global matrix (if possible)
|
inlineinherited |
|
inlineinherited |
scale matrix with scalar value
[in] | scalar | scalar value that scales the matrix |
|
inlineinherited |
scale matrix with scalar value
[in] | scalar | scalar value that scales the matrix |
|
inlineinherited |
scale matrix with scalar
|
inlineinherited |
set value of matrix entry (row,col) where row and col are local row and local column
[in] | localRow | local row |
[in] | localCol | local column |
[in] | value | value to set |
|
inlineinherited |
set value of matrix entry (row,col) where row and col are local row and local column
[in] | localRow | local row |
[in] | localCol | local column |
[in] | value | value to set |
|
inline |
clear local matrix from entities
|
protected |
|
protected |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protected |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |