Sapphire++
 v1.3.0-121-g2682132
Loading...
Searching...
No Matches
sapphirepp::VFP::PDESystem Class Reference

Calculate the matrices of the PDE system. More...

#include <pde-system.h>

Public Member Functions

 PDESystem (const unsigned int expansion_order)
void compute_coupling_tables (const unsigned int dim_cs, const VFPFlags vfp_flags, dealii::Table< 2, dealii::DoFTools::Coupling > &cell_integrals_mask, dealii::Table< 2, dealii::DoFTools::Coupling > &face_integrals_mask) const
 Compute the coupling tables.
const std::vector< dealii::LAPACKFullMatrix< double > > & get_advection_matrices () const
 Get the advection matrices object.
const std::vector< dealii::LAPACKFullMatrix< double > > & get_generator_rotation_matrices () const
 Get the generator rotation matrices object.
const dealii::Vector< double > & get_collision_matrix () const
 Get the collision matrix object.
const std::vector< dealii::LAPACKFullMatrix< double > > & get_adv_mat_products () const
 Get the adv mat products object.
const std::vector< dealii::LAPACKFullMatrix< double > > & get_adv_cross_gen () const
 Get the adv cross gen object.
const std::vector< dealii::LAPACKFullMatrix< double > > & get_t_matrices () const
 Get the t matrices object.
template<typename StreamType>
void print_lms_indices (StreamType &os) const
 Print the lms indices ordering.
void print_advection_matrices (std::ostream &os) const
 Print the advection matrices.
void print_generator_rotation_matrices (std::ostream &os) const
 Print the generator rotation matrices.
void print_collision_matrix (std::ostream &os) const
 Print the collision matrix.
void print_adv_mat_products (std::ostream &os) const
 Print the adv mat products.
void print_adv_cross_gen (std::ostream &os) const
 Print the adv cross gen.
void print_t_matrices (std::ostream &os) const
 Print the t matrices.
void print_pde_system (std::ostream &os) const
 Print the full PDE system.

Static Public Member Functions

static std::vector< std::array< unsigned int, 3 > > create_lms_indices (const unsigned int system_size)
 Create a mapping between the system index \( i \) and the spherical harmonic indices \( (l,m,s) \).
static std::vector< std::string > create_component_name_list (const unsigned int system_size, const std::string &prefix="f_")
 Create a list of component names, f_lms.

Public Attributes

const unsigned int expansion_order
const unsigned int system_size
 Size of the system.
const std::vector< std::array< unsigned int, 3 > > lms_indices
 Map between system index \( i \) and spherical harmonic indices \( (l,m,s) \).

Detailed Description

Calculate the matrices of the PDE system.

This class calculates everything related to the PDE system resulting from the VFP equation, including the mapping between the indices and the matrices resulting from the expansion.

Constructor & Destructor Documentation

◆ PDESystem()

sapphirepp::VFP::PDESystem::PDESystem ( const unsigned int expansion_order)

Constructor

Member Function Documentation

◆ compute_coupling_tables()

void sapphirepp::VFP::PDESystem::compute_coupling_tables ( const unsigned int dim_cs,
const VFPFlags vfp_flags,
dealii::Table< 2, dealii::DoFTools::Coupling > & cell_integrals_mask,
dealii::Table< 2, dealii::DoFTools::Coupling > & face_integrals_mask ) const

Compute the coupling tables.

Parameters
dim_csDimension of the configuration space
vfp_flagsVFP Flags
cell_integrals_maskCoupling table for the cells
face_integrals_maskCoupling table for the faces

◆ create_component_name_list()

std::vector< std::string > sapphirepp::VFP::PDESystem::create_component_name_list ( const unsigned int system_size,
const std::string & prefix = "f_" )
static

Create a list of component names, f_lms.

Parameters
system_sizeNumber of expansion coefficients, normally \( (l_{\rm max} + 1)^2 \).
prefixPrefix for the component names.
Returns
std::vector<std::string> component_names. List component_names[i] = "f_lms".

◆ create_lms_indices()

std::vector< std::array< unsigned int, 3 > > sapphirepp::VFP::PDESystem::create_lms_indices ( const unsigned int system_size)
static

Create a mapping between the system index \( i \) and the spherical harmonic indices \( (l,m,s) \).

Parameters
system_sizeNumber of expansion coefficients, normally \( (l_{\rm max} + 1)^2 \).
Returns
std::vector<std::array<unsigned int, 3>> lms_indices. Mapping lms_indices[i] = {l,m,s}.

◆ get_adv_cross_gen()

const std::vector< dealii::LAPACKFullMatrix< double > > & sapphirepp::VFP::PDESystem::get_adv_cross_gen ( ) const

Get the adv cross gen object.

Returns
const std::vector<dealii::LAPACKFullMatrix<double>>&

◆ get_adv_mat_products()

const std::vector< dealii::LAPACKFullMatrix< double > > & sapphirepp::VFP::PDESystem::get_adv_mat_products ( ) const

Get the adv mat products object.

Returns
const std::vector<dealii::LAPACKFullMatrix<double>>&

◆ get_advection_matrices()

const std::vector< dealii::LAPACKFullMatrix< double > > & sapphirepp::VFP::PDESystem::get_advection_matrices ( ) const

Get the advection matrices object.

Returns
const std::vector<dealii::LAPACKFullMatrix<double>>&

◆ get_collision_matrix()

const dealii::Vector< double > & sapphirepp::VFP::PDESystem::get_collision_matrix ( ) const

Get the collision matrix object.

Returns
const dealii::Vector<double>&

◆ get_generator_rotation_matrices()

const std::vector< dealii::LAPACKFullMatrix< double > > & sapphirepp::VFP::PDESystem::get_generator_rotation_matrices ( ) const

Get the generator rotation matrices object.

Returns
const std::vector<dealii::LAPACKFullMatrix<double>>&

◆ get_t_matrices()

const std::vector< dealii::LAPACKFullMatrix< double > > & sapphirepp::VFP::PDESystem::get_t_matrices ( ) const

Get the t matrices object.

Returns
const std::vector<dealii::LAPACKFullMatrix<double>>&

◆ print_adv_cross_gen()

void sapphirepp::VFP::PDESystem::print_adv_cross_gen ( std::ostream & os) const

Print the adv cross gen.

Parameters
osOutput stream

◆ print_adv_mat_products()

void sapphirepp::VFP::PDESystem::print_adv_mat_products ( std::ostream & os) const

Print the adv mat products.

Parameters
osOutput stream

◆ print_advection_matrices()

void sapphirepp::VFP::PDESystem::print_advection_matrices ( std::ostream & os) const

Print the advection matrices.

Parameters
osOutput stream

◆ print_collision_matrix()

void sapphirepp::VFP::PDESystem::print_collision_matrix ( std::ostream & os) const

Print the collision matrix.

Parameters
osOutput stream

◆ print_generator_rotation_matrices()

void sapphirepp::VFP::PDESystem::print_generator_rotation_matrices ( std::ostream & os) const

Print the generator rotation matrices.

Parameters
osOutput stream

◆ print_lms_indices()

template<typename StreamType>
void sapphirepp::VFP::PDESystem::print_lms_indices ( StreamType & os) const
inline

Print the lms indices ordering.

Template Parameters
StreamTypeType of the output stream
Parameters
osOutput stream

◆ print_pde_system()

void sapphirepp::VFP::PDESystem::print_pde_system ( std::ostream & os) const

Print the full PDE system.

Parameters
osOutput stream

◆ print_t_matrices()

void sapphirepp::VFP::PDESystem::print_t_matrices ( std::ostream & os) const

Print the t matrices.

Parameters
osOutput stream

Member Data Documentation

◆ expansion_order

const unsigned int sapphirepp::VFP::PDESystem::expansion_order

Order of the spherical harmonic expansion

◆ lms_indices

const std::vector<std::array<unsigned int, 3> > sapphirepp::VFP::PDESystem::lms_indices

Map between system index \( i \) and spherical harmonic indices \( (l,m,s) \).

The mapping is given by lms_indices[i] = {l,m,s}.

◆ system_size

const unsigned int sapphirepp::VFP::PDESystem::system_size

Size of the system.

Size of system, i.e. the number of expansion coefficients and the size the quadratic matrices


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