FlowingVariables< Discretization > Class Template Reference#

DiFfRG: DiFfRG::FV::FlowingVariables< Discretization > Class Template Reference
DiFfRG
Discretization Framework for functional Renormalization Group flows
DiFfRG::FV::FlowingVariables< Discretization > Class Template Reference

A class to set up cell-averaged initial data for finite-volume systems. More...

#include <data.hh>

Inheritance diagram for DiFfRG::FV::FlowingVariables< Discretization >:
DiFfRG::AbstractFlowingVariables< Discretization::NumberType, Discretization::VectorType >

Public Types

using NumberType = typename Discretization::NumberType
 
using VectorType = typename Discretization::VectorType
 
using BlockVectorType = get_type::BlockVectorType<VectorType>
 
using Components = typename Discretization::Components
 
- Public Types inherited from DiFfRG::AbstractFlowingVariables< Discretization::NumberType, Discretization::VectorType >
using VectorType
 The vector type holding the state.
 
using BlockVectorType
 

Public Member Functions

 FlowingVariables (const Discretization &discretization)
 Construct a new Flowing Variables object.
 
template<typename Model >
void interpolate (const Model &model)
 Initializes FV data with cell averages of the model initial condition.
 
virtual BlockVectorType & data () override
 Obtain the data vector holding both spatial (block 0) and variable (block 1) data.
 
virtual const BlockVectorType & data () const override
 
virtual VectorType & spatial_data () override
 Obtain the spatial data vector.
 
virtual const VectorType & spatial_data () const override
 
virtual VectorType & variable_data () override
 Obtain the variable data vector.
 
virtual const VectorType & variable_data () const override
 
- Public Member Functions inherited from DiFfRG::AbstractFlowingVariables< Discretization::NumberType, Discretization::VectorType >

Static Public Attributes

static constexpr uint dim = Discretization::dim
 

Private Attributes

const Discretization & discretization
 
const DoFHandler< dim > & dof_handler
 
BlockVectorType m_data
 

Detailed Description

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

A class to set up cell-averaged initial data for finite-volume systems.

FV unknowns represent cell averages. Unlike FE::FlowingVariables, this class integrates the model's pointwise initial condition over each active cell.

Member Typedef Documentation

◆ BlockVectorType

◆ Components

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

◆ NumberType

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

◆ VectorType

template<typename Discretization >
using DiFfRG::FV::FlowingVariables< Discretization >::VectorType = typename Discretization::VectorType

Constructor & Destructor Documentation

◆ FlowingVariables()

template<typename Discretization >
DiFfRG::FV::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]

◆ data() [2/2]

template<typename Discretization >
virtual BlockVectorType & DiFfRG::FV::FlowingVariables< Discretization >::data ( )
inlineoverridevirtual

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

Returns
BlockVectorType& The data vector.

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

◆ interpolate()

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

Initializes FV data with cell averages of the model initial condition.

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

◆ spatial_data() [1/2]

◆ spatial_data() [2/2]

template<typename Discretization >
virtual VectorType & DiFfRG::FV::FlowingVariables< Discretization >::spatial_data ( )
inlineoverridevirtual

Obtain the spatial data vector.

Returns
VectorType& The spatial data vector.

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

◆ variable_data() [1/2]

template<typename Discretization >
virtual const VectorType & DiFfRG::FV::FlowingVariables< Discretization >::variable_data ( ) const
inlineoverridevirtual

◆ variable_data() [2/2]

template<typename Discretization >
virtual VectorType & DiFfRG::FV::FlowingVariables< Discretization >::variable_data ( )
inlineoverridevirtual

Obtain the variable data vector.

Returns
VectorType& The variable data vector.

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

Member Data Documentation

◆ dim

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

◆ discretization

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

◆ dof_handler

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

◆ m_data


The documentation for this class was generated from the following file:
  • /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/discretization/data/data.hh