Dune::Copasi 2.1.0-git79717215+dune.gitlab.629933
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages Concepts
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Dune::Copasi::DiffusionReaction::LocalEquations< dim > Class Template Reference

#include <local_equations.hh>

Inheritance diagram for Dune::Copasi::DiffusionReaction::LocalEquations< dim >:
Dune::Copasi::LocalDomain< dim >

Classes

struct  CompartmentDifferentiableFunction
 
struct  CompartmentDiffusionApply
 
struct  CompartmentNode
 
struct  CompartmentPartialDerivative
 
struct  MembraneDifferentiableFunction
 
struct  MembraneDiffusionApply
 
struct  MembraneNode
 
struct  MembranePartialDerivative
 

Public Types

using CompartmentScalarFunction = CompartmentDifferentiableFunction< Scalar() const noexcept >
 
using MembraneScalarFunction = MembraneDifferentiableFunction< Scalar() const noexcept >
 
using CompartmentVectorFunction = CompartmentDifferentiableFunction< Vector() const noexcept >
 
using MembraneVectorFunction = MembraneDifferentiableFunction< Vector() const noexcept >
 

Public Member Functions

 LocalEquations (const LocalEquations &)=delete
 
 LocalEquations (LocalEquations &&)=delete
 
virtual ~LocalEquations () override=default
 
LocalEquationsoperator= (const LocalEquations &)=delete
 
LocalEquationsoperator= (LocalEquations &&)=delete
 
template<class Tree >
requires Concept::CompartmentScalarLocalBasisNode<Tree> || Concept::MembraneScalarLocalBasisNode<Tree>
const auto & get_equation (const Tree &tree) const
 
template<class Tree >
requires Concept::CompartmentScalarLocalBasisNode<Tree> || Concept::MembraneScalarLocalBasisNode<Tree>
auto & get_value (const Tree &tree)
 
template<class Tree >
requires Concept::CompartmentScalarLocalBasisNode<Tree> || Concept::MembraneScalarLocalBasisNode<Tree>
auto & get_gradient (const Tree &tree)
 
void forEachValue (Codim< 0 >, const std::function< void(std::string_view, const FieldVector< double, 1 > &, const FieldVector< double, dim > &)> &apply) const override
 
void forEachValue (Codim< 1 >, const std::function< void(std::string_view, const FieldVector< double, 1 > &, const FieldVector< double, dim - 1 > &)> &) const override
 
void clear ()
 
void debug () const
 
const auto & nodes () const
 
- Public Member Functions inherited from Dune::Copasi::LocalDomain< dim >
 LocalDomain ()=default
 
 LocalDomain (const LocalDomain &)=delete
 
 LocalDomain (LocalDomain &&)=delete
 
LocalDomainoperator= (const LocalDomain &)=delete
 
LocalDomainoperator= (LocalDomain &&)=delete
 
virtual ~LocalDomain ()
 
virtual void forEachValue (Codim< 0 >, const std::function< void(std::string_view, const Dune::FieldVector< double, 1 > &, const Dune::FieldVector< double, dim > &)> &) const
 
virtual void forEachValue (Codim< 1 >, const std::function< void(std::string_view, const FieldVector< double, 1 > &, const FieldVector< double, dim - 1 > &)> &) const
 

Static Public Member Functions

template<PDELab::Concept::LocalBasis LocalBasis, class CellDataGridView = typename LocalBasis::GlobalBasis::EntitySet, class CellDataType = double>
static std::unique_ptr< LocalEquationsmake (const LocalBasis &lbasis, const ParameterTree &eqs_cfg={}, const ParameterTree &domain_cfg={}, std::shared_ptr< const FunctorFactory< dim > > functor_factory=nullptr, std::shared_ptr< const CellData< CellDataGridView, CellDataType > > grid_cell_data=nullptr, BitFlags< FactoryFalgs > opts=BitFlags< FactoryFalgs >::no_flags())
 
template<class CellDataGridView , class CellDataType = double>
static std::unique_ptr< LocalEquationsmake_stiffness (const PDELab::Concept::LocalBasis auto &lbasis, const ParameterTree &eqs_cfg, const ParameterTree &domain_cfg, std::shared_ptr< const FunctorFactory< dim > > functor_factory, std::shared_ptr< const CellData< CellDataGridView, CellDataType > > grid_cell_data)
 
template<class CellDataGridView , class CellDataType = double>
static std::unique_ptr< LocalEquationsmake_mass (const PDELab::Concept::LocalBasis auto &lbasis, const ParameterTree &eqs_cfg, const ParameterTree &domain_cfg, std::shared_ptr< const FunctorFactory< dim > > functor_factory, std::shared_ptr< const CellData< CellDataGridView, CellDataType > > grid_cell_data)
 

Public Attributes

CompartmentVectorFunction domain_deformation
 
- Public Attributes inherited from Dune::Copasi::LocalDomain< dim >
FieldVector< double, dim > position
 
FieldVector< double, dim > normal
 
double time = 0.
 
double integration_factor = 0
 
double entity_volume = 0.
 
double in_volume = 0
 
double in_boundary = 0
 
double in_skeleton = 0
 
std::vector< double > cell_values
 
std::vector< bool > cell_mask
 
std::vector< std::string > cell_keys
 

Member Typedef Documentation

◆ CompartmentScalarFunction

template<std::size_t dim>
using Dune::Copasi::DiffusionReaction::LocalEquations< dim >::CompartmentScalarFunction = CompartmentDifferentiableFunction<Scalar() const noexcept>

◆ CompartmentVectorFunction

template<std::size_t dim>
using Dune::Copasi::DiffusionReaction::LocalEquations< dim >::CompartmentVectorFunction = CompartmentDifferentiableFunction<Vector() const noexcept>

◆ MembraneScalarFunction

template<std::size_t dim>
using Dune::Copasi::DiffusionReaction::LocalEquations< dim >::MembraneScalarFunction = MembraneDifferentiableFunction<Scalar() const noexcept>

◆ MembraneVectorFunction

template<std::size_t dim>
using Dune::Copasi::DiffusionReaction::LocalEquations< dim >::MembraneVectorFunction = MembraneDifferentiableFunction<Vector() const noexcept>

Constructor & Destructor Documentation

◆ LocalEquations() [1/2]

template<std::size_t dim>
Dune::Copasi::DiffusionReaction::LocalEquations< dim >::LocalEquations ( const LocalEquations< dim > &  )
delete

◆ LocalEquations() [2/2]

template<std::size_t dim>
Dune::Copasi::DiffusionReaction::LocalEquations< dim >::LocalEquations ( LocalEquations< dim > &&  )
delete

◆ ~LocalEquations()

template<std::size_t dim>
virtual Dune::Copasi::DiffusionReaction::LocalEquations< dim >::~LocalEquations ( )
overridevirtualdefault

Member Function Documentation

◆ clear()

template<std::size_t dim>
void Dune::Copasi::DiffusionReaction::LocalEquations< dim >::clear ( )
inline

◆ debug()

template<std::size_t dim>
void Dune::Copasi::DiffusionReaction::LocalEquations< dim >::debug ( ) const
inline

◆ forEachValue() [1/2]

template<std::size_t dim>
void Dune::Copasi::DiffusionReaction::LocalEquations< dim >::forEachValue ( Codim< 0 >  ,
const std::function< void(std::string_view, const FieldVector< double, 1 > &, const FieldVector< double, dim > &)> &  apply 
) const
inlineoverride

◆ forEachValue() [2/2]

template<std::size_t dim>
void Dune::Copasi::DiffusionReaction::LocalEquations< dim >::forEachValue ( Codim< 1 >  ,
const std::function< void(std::string_view, const FieldVector< double, 1 > &, const FieldVector< double, dim - 1 > &)> &   
) const
inlineoverridevirtual

Reimplemented from Dune::Copasi::LocalDomain< dim >.

◆ get_equation()

template<std::size_t dim>
template<class Tree >
requires Concept::CompartmentScalarLocalBasisNode<Tree> || Concept::MembraneScalarLocalBasisNode<Tree>
const auto & Dune::Copasi::DiffusionReaction::LocalEquations< dim >::get_equation ( const Tree &  tree) const
inline

◆ get_gradient()

template<std::size_t dim>
template<class Tree >
requires Concept::CompartmentScalarLocalBasisNode<Tree> || Concept::MembraneScalarLocalBasisNode<Tree>
auto & Dune::Copasi::DiffusionReaction::LocalEquations< dim >::get_gradient ( const Tree &  tree)
inline

◆ get_value()

template<std::size_t dim>
template<class Tree >
requires Concept::CompartmentScalarLocalBasisNode<Tree> || Concept::MembraneScalarLocalBasisNode<Tree>
auto & Dune::Copasi::DiffusionReaction::LocalEquations< dim >::get_value ( const Tree &  tree)
inline

◆ make()

template<std::size_t dim>
template<PDELab::Concept::LocalBasis LocalBasis, class CellDataGridView = typename LocalBasis::GlobalBasis::EntitySet, class CellDataType = double>
static std::unique_ptr< LocalEquations > Dune::Copasi::DiffusionReaction::LocalEquations< dim >::make ( const LocalBasis &  lbasis,
const ParameterTree &  eqs_cfg = {},
const ParameterTree &  domain_cfg = {},
std::shared_ptr< const FunctorFactory< dim > >  functor_factory = nullptr,
std::shared_ptr< const CellData< CellDataGridView, CellDataType > >  grid_cell_data = nullptr,
BitFlags< FactoryFalgs >  opts = BitFlags<FactoryFalgs>::no_flags() 
)
inlinestatic

◆ make_mass()

template<std::size_t dim>
template<class CellDataGridView , class CellDataType = double>
static std::unique_ptr< LocalEquations > Dune::Copasi::DiffusionReaction::LocalEquations< dim >::make_mass ( const PDELab::Concept::LocalBasis auto &  lbasis,
const ParameterTree &  eqs_cfg,
const ParameterTree &  domain_cfg,
std::shared_ptr< const FunctorFactory< dim > >  functor_factory,
std::shared_ptr< const CellData< CellDataGridView, CellDataType > >  grid_cell_data 
)
inlinestatic

◆ make_stiffness()

template<std::size_t dim>
template<class CellDataGridView , class CellDataType = double>
static std::unique_ptr< LocalEquations > Dune::Copasi::DiffusionReaction::LocalEquations< dim >::make_stiffness ( const PDELab::Concept::LocalBasis auto &  lbasis,
const ParameterTree &  eqs_cfg,
const ParameterTree &  domain_cfg,
std::shared_ptr< const FunctorFactory< dim > >  functor_factory,
std::shared_ptr< const CellData< CellDataGridView, CellDataType > >  grid_cell_data 
)
inlinestatic

◆ nodes()

template<std::size_t dim>
const auto & Dune::Copasi::DiffusionReaction::LocalEquations< dim >::nodes ( ) const
inline

◆ operator=() [1/2]

template<std::size_t dim>
LocalEquations & Dune::Copasi::DiffusionReaction::LocalEquations< dim >::operator= ( const LocalEquations< dim > &  )
delete

◆ operator=() [2/2]

template<std::size_t dim>
LocalEquations & Dune::Copasi::DiffusionReaction::LocalEquations< dim >::operator= ( LocalEquations< dim > &&  )
delete

Member Data Documentation

◆ domain_deformation

template<std::size_t dim>
CompartmentVectorFunction Dune::Copasi::DiffusionReaction::LocalEquations< dim >::domain_deformation

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