DiFfRG
Loading...
Searching...
No Matches
DiFfRG::FlowingVariables< NT > 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::FlowingVariables< NT >:
DiFfRG::AbstractFlowingVariables< double >

Public Types

using NumberType = NT
 

Public Member Functions

 FlowingVariables ()
 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< double >

Private Attributes

BlockVector< NumberTypem_data
 

Detailed Description

template<typename NT = double>
class DiFfRG::FlowingVariables< NT >

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

◆ NumberType

template<typename NT = double>
using DiFfRG::FlowingVariables< NT >::NumberType = NT

Constructor & Destructor Documentation

◆ FlowingVariables()

template<typename NT = double>
DiFfRG::FlowingVariables< NT >::FlowingVariables ( )
inline

Construct a new Flowing Variables object.

Member Function Documentation

◆ data() [1/2]

template<typename NT = double>
virtual const BlockVector< NumberType > & DiFfRG::FlowingVariables< NT >::data ( ) const
inlineoverridevirtual

◆ data() [2/2]

template<typename NT = double>
virtual BlockVector< NumberType > & DiFfRG::FlowingVariables< NT >::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< double >.

◆ interpolate()

template<typename NT = double>
template<typename Model >
void DiFfRG::FlowingVariables< NT >::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 NT = double>
virtual const Vector< NumberType > & DiFfRG::FlowingVariables< NT >::spatial_data ( ) const
inlineoverridevirtual

◆ spatial_data() [2/2]

template<typename NT = double>
virtual Vector< NumberType > & DiFfRG::FlowingVariables< NT >::spatial_data ( )
inlineoverridevirtual

Obtain the spatial data vector.

Returns
Vector<NumberType>& The spatial data vector.

Implements DiFfRG::AbstractFlowingVariables< double >.

◆ variable_data() [1/2]

template<typename NT = double>
virtual const Vector< NumberType > & DiFfRG::FlowingVariables< NT >::variable_data ( ) const
inlineoverridevirtual

◆ variable_data() [2/2]

template<typename NT = double>
virtual Vector< NumberType > & DiFfRG::FlowingVariables< NT >::variable_data ( )
inlineoverridevirtual

Obtain the variable data vector.

Returns
Vector<NumberType>& The variable data vector.

Implements DiFfRG::AbstractFlowingVariables< double >.

Member Data Documentation

◆ m_data

template<typename NT = double>
BlockVector<NumberType> DiFfRG::FlowingVariables< NT >::m_data
private

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