SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::operators::backend::mfem::JacobianOperator< CacheT > Class Template Referencefinal

#include <jacobian_operator.hpp>

Inheritance diagram for serif::operators::backend::mfem::JacobianOperator< CacheT >:
[legend]
Collaboration diagram for serif::operators::backend::mfem::JacobianOperator< CacheT >:
[legend]

Public Member Functions

 JacobianOperator (const CacheT &cache)
 Fix dimensions from an already accepted volume linearization.
 
 JacobianOperator (CacheT &&)=delete
 
 JacobianOperator (const CacheT &&)=delete
 
void Mult (const ::mfem::Vector &direction, ::mfem::Vector &result) const override
 Apply the latest accepted Jacobian; a failed preparation makes this unavailable.
 
void MultTranspose (const ::mfem::Vector &dual, ::mfem::Vector &result) const override
 Apply the coordinate transpose, including operand, test and geometry variations.
 

Private Member Functions

const auto & checked_data () const
 MFEM's fixed dimensions must still match the cache's current accepted result.
 

Private Attributes

const CacheT & m_cache
 
Workspace m_workspace
 

Detailed Description

template<typename CacheT>
class serif::operators::backend::mfem::JacobianOperator< CacheT >

Adapt an accepted dependency cache directly to MFEM's linear operator interface. The cache must outlive this adapter. Calls sharing spaces or a mapper must be serialized.

Constructor & Destructor Documentation

◆ JacobianOperator() [1/3]

template<typename CacheT>
serif::operators::backend::mfem::JacobianOperator< CacheT >::JacobianOperator ( const CacheT & cache)
inlineexplicit

Fix dimensions from an already accepted volume linearization.

◆ JacobianOperator() [2/3]

template<typename CacheT>
serif::operators::backend::mfem::JacobianOperator< CacheT >::JacobianOperator ( CacheT && )
delete

◆ JacobianOperator() [3/3]

template<typename CacheT>
serif::operators::backend::mfem::JacobianOperator< CacheT >::JacobianOperator ( const CacheT && )
delete

Member Function Documentation

◆ checked_data()

template<typename CacheT>
const auto & serif::operators::backend::mfem::JacobianOperator< CacheT >::checked_data ( ) const
inlinenodiscardprivate

MFEM's fixed dimensions must still match the cache's current accepted result.

◆ Mult()

template<typename CacheT>
void serif::operators::backend::mfem::JacobianOperator< CacheT >::Mult ( const ::mfem::Vector & direction,
::mfem::Vector & result ) const
inlineoverride

Apply the latest accepted Jacobian; a failed preparation makes this unavailable.

◆ MultTranspose()

template<typename CacheT>
void serif::operators::backend::mfem::JacobianOperator< CacheT >::MultTranspose ( const ::mfem::Vector & dual,
::mfem::Vector & result ) const
inlineoverride

Apply the coordinate transpose, including operand, test and geometry variations.

Member Data Documentation

◆ m_cache

template<typename CacheT>
const CacheT& serif::operators::backend::mfem::JacobianOperator< CacheT >::m_cache
private

◆ m_workspace

template<typename CacheT>
Workspace serif::operators::backend::mfem::JacobianOperator< CacheT >::m_workspace
mutableprivate

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