DiFfRG
Loading...
Searching...
No Matches
DiFfRG::FE::FlowingVariables< Discretization > Class Template Reference

A class to set up initial data for whatever discretization we have chosen. Also used to switch/manage memory, vectors, matrices over interfaces between spatial discretization and separate variables. More...

#include <data.hh>

Inheritance diagram for DiFfRG::FE::FlowingVariables< Discretization >:
DiFfRG::AbstractFlowingVariables< Discretization::NumberType >

Public Types

using NumberType = typename Discretization::NumberType
 
using Components = typename Discretization::Components
 

Public Member Functions

 FlowingVariables (const Discretization &discretization)
 Construct a new Flowing Variables object.
 
template<typename Model >
void interpolate (const Model &model)
 Interpolates the initial condition from a numerical model.
 
virtual BlockVector< NumberType > & data () override
 Obtain the data vector holding both spatial (block 0) and variable (block 1) data.
 
virtual const BlockVector< NumberType > & data () const override
 
virtual Vector< NumberType > & spatial_data () override
 Obtain the spatial data vector.
 
virtual const Vector< NumberType > & spatial_data () const override
 
virtual Vector< NumberType > & variable_data () override
 Obtain the variable data vector.
 
virtual const Vector< NumberType > & variable_data () const override
 
- Public Member Functions inherited from DiFfRG::AbstractFlowingVariables< Discretization::NumberType >

Static Public Attributes

static constexpr uint dim = Discretization::dim
 

Private Attributes

const Discretization & discretization
 
const DoFHandler< dim > & dof_handler
 
BlockVector< NumberTypem_data
 

Detailed Description

template<typename Discretization>
class DiFfRG::FE::FlowingVariables< Discretization >

A class to set up initial data for whatever discretization we have chosen. Also used to switch/manage memory, vectors, matrices over interfaces between spatial discretization and separate variables.

Template Parameters
DiscretizationSpatial Discretization used in the system

Member Typedef Documentation

◆ Components

template<typename Discretization >
using DiFfRG::FE::FlowingVariables< Discretization >::Components = typename Discretization::Components

◆ NumberType

template<typename Discretization >
using DiFfRG::FE::FlowingVariables< Discretization >::NumberType = typename Discretization::NumberType

Constructor & Destructor Documentation

◆ FlowingVariables()

template<typename Discretization >
DiFfRG::FE::FlowingVariables< Discretization >::FlowingVariables ( const Discretization & discretization)
inline

Construct a new Flowing Variables object.

Parameters
discretizationThe spatial discretization to use

Member Function Documentation

◆ data() [1/2]

template<typename Discretization >
virtual const BlockVector< NumberType > & DiFfRG::FE::FlowingVariables< Discretization >::data ( ) const
inlineoverridevirtual

◆ data() [2/2]

template<typename Discretization >
virtual BlockVector< NumberType > & DiFfRG::FE::FlowingVariables< Discretization >::data ( )
inlineoverridevirtual

Obtain the data vector holding both spatial (block 0) and variable (block 1) data.

Returns
BlockVector<NumberType>& The data vector.

Implements DiFfRG::AbstractFlowingVariables< Discretization::NumberType >.

◆ interpolate()

template<typename Discretization >
template<typename Model >
void DiFfRG::FE::FlowingVariables< Discretization >::interpolate ( const Model & model)
inline

Interpolates the initial condition from a numerical model.

Parameters
modelThe model to interpolate from. Must provide a method initial_condition(const Point<dim> &, Vector<NumberType> &)

◆ spatial_data() [1/2]

template<typename Discretization >
virtual const Vector< NumberType > & DiFfRG::FE::FlowingVariables< Discretization >::spatial_data ( ) const
inlineoverridevirtual

◆ spatial_data() [2/2]

template<typename Discretization >
virtual Vector< NumberType > & DiFfRG::FE::FlowingVariables< Discretization >::spatial_data ( )
inlineoverridevirtual

Obtain the spatial data vector.

Returns
Vector<NumberType>& The spatial data vector.

Implements DiFfRG::AbstractFlowingVariables< Discretization::NumberType >.

◆ variable_data() [1/2]

template<typename Discretization >
virtual const Vector< NumberType > & DiFfRG::FE::FlowingVariables< Discretization >::variable_data ( ) const
inlineoverridevirtual

◆ variable_data() [2/2]

template<typename Discretization >
virtual Vector< NumberType > & DiFfRG::FE::FlowingVariables< Discretization >::variable_data ( )
inlineoverridevirtual

Obtain the variable data vector.

Returns
Vector<NumberType>& The variable data vector.

Implements DiFfRG::AbstractFlowingVariables< Discretization::NumberType >.

Member Data Documentation

◆ dim

template<typename Discretization >
uint DiFfRG::FE::FlowingVariables< Discretization >::dim = Discretization::dim
staticconstexpr

◆ discretization

template<typename Discretization >
const Discretization& DiFfRG::FE::FlowingVariables< Discretization >::discretization
private

◆ dof_handler

template<typename Discretization >
const DoFHandler<dim>& DiFfRG::FE::FlowingVariables< Discretization >::dof_handler
private

◆ m_data

template<typename Discretization >
BlockVector<NumberType> DiFfRG::FE::FlowingVariables< Discretization >::m_data
private

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