Sapphire++
 v1.3.0-121-g2682132
Loading...
Searching...
No Matches
sapphirepp::VFP::BoundaryValueFunction< dim > Class Template Reference

Inflow boundary condition. More...

#include <config.h>

Inheritance diagram for sapphirepp::VFP::BoundaryValueFunction< dim >:
[legend]
Collaboration diagram for sapphirepp::VFP::BoundaryValueFunction< dim >:
[legend]

Public Member Functions

 BoundaryValueFunction (const PhysicalParameters &physical_parameters, const unsigned int system_size)
 Constructor.
void bc_vector_value_list (const std::vector< dealii::Point< dim > > &points, const unsigned int boundary_id, std::vector< dealii::Vector< double > > &bc_values) const
 Values of the distribution function \( f \) at the boundary specified by boundary_id.

Detailed Description

template<unsigned int dim>
class sapphirepp::VFP::BoundaryValueFunction< dim >

Inflow boundary condition.

Template Parameters
dimDimension of the reduced phase space \( (\mathbf{x},p) \)

Constructor & Destructor Documentation

◆ BoundaryValueFunction()

template<unsigned int dim>
sapphirepp::VFP::BoundaryValueFunction< dim >::BoundaryValueFunction ( const PhysicalParameters & physical_parameters,
const unsigned int system_size )
inline

Constructor.

Parameters
physical_parametersUser defined runtime parameters
system_sizeNumber of expansion coefficients, normally \( (l_{\mathrm{max}} + 1)^2 \)

Member Function Documentation

◆ bc_vector_value_list()

template<unsigned int dim>
void sapphirepp::VFP::BoundaryValueFunction< dim >::bc_vector_value_list ( const std::vector< dealii::Point< dim > > & points,
const unsigned int boundary_id,
std::vector< dealii::Vector< double > > & bc_values ) const
inline

Values of the distribution function \( f \) at the boundary specified by boundary_id.

Return a vector containing the values of the expansion coefficients \( f_{i(l,m,s)}(t, \mathbf{x}, p) \) representing the distribution function \( f \) at points on the boundary with boundary_id.

The zeroth component of the vector corresponds to \( f_{000} \), the first component to \( f_{110} \) etc. The mapping between the system index \( i \) and the spherical harmonic indices \( (l,m,s) \) is given by lms_indices:

const unsigned int l = lms_indices[i][0];
const unsigned int m = lms_indices[i][1];
const unsigned int s = lms_indices[i][2];

The points in reduced phase space are handed over using the vector points. Each of its elements has dim components. The first dim_cs components correspond to the spatial coordinates \( \mathbf{x} \) and if the momentum term is activated the last component to the momentum coordinate \( \ln p \):

const double x = points[0][0];
const double y = points[0][1];
// ...
const double log_p = points[0][dim-1];

where points[0] picks out the first point in points.

The boundary_id is used to specify the values of \( f \) at a specific boundary of the computational domain.The relation between the possible boundaries and the boundary ids depends on the dimension dim. For a 1D spatial problem with momentum the dependence, the boundary ids are,

Boundary ID
lower x 0
upper x 1
lower p 2
upper p 3

Only if in the parameter file the corresponding boundary is set to inflow, the function bc_vector_value will be called.

Parameters
pointsPoints in reduced phase space on the boundary
boundary_idID of the boundary of the computational domain
bc_valuesReturn vector \( f_{i(l,m,s)}(t, \mathbf{x}, p) \)
See also
dealii::BoundaryIndicator, dealii::hyper_rectangle()

[Boundary value]

[Boundary value]


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