Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
shammodels::sph::BCConfig< Tvec > Struct Template Reference

Boundary conditions configuration. More...

Classes

struct  Free
 Free boundary condition. More...
 
struct  Periodic
 Periodic boundary condition. More...
 
struct  ShearingPeriodic
 Shearing periodic boundary condition. More...
 

Public Types

using Tscal = shambase::VecComponent< Tvec >
 Type of the components of the vector of coordinates.
 
using Variant = std::variant< Free, Periodic, ShearingPeriodic >
 Variant of all types of artificial viscosity possible.
 

Public Member Functions

void set_free ()
 Set the boundary condition to free boundaries.
 
void set_periodic ()
 Set the boundary condition to periodic boundaries.
 
void set_shearing_periodic (i32_3 shear_base, i32_3 shear_dir, Tscal speed)
 Set the boundary condition to shearing periodic boundaries.
 
void print_status ()
 Prints the current boundary condition configuration to the logger.
 

Public Attributes

Variant config = Free{}
 The actual configuration (default to free boundaries)
 

Static Public Attributes

static constexpr u32 dim = shambase::VectorProperties<Tvec>::dimension
 Number of dimensions of the problem.
 

Detailed Description

template<class Tvec>
struct shammodels::sph::BCConfig< Tvec >

Boundary conditions configuration.

This struct is used to configure the boundary conditions of a simulation.

Template Parameters
TvecThe vector type used for the simulation.

Definition at line 40 of file BCConfig.hpp.

Member Typedef Documentation

◆ Tscal

template<class Tvec >
using shammodels::sph::BCConfig< Tvec >::Tscal = shambase::VecComponent<Tvec>

Type of the components of the vector of coordinates.

Definition at line 43 of file BCConfig.hpp.

◆ Variant

template<class Tvec >
using shammodels::sph::BCConfig< Tvec >::Variant = std::variant<Free, Periodic, ShearingPeriodic>

Variant of all types of artificial viscosity possible.

Definition at line 92 of file BCConfig.hpp.

Member Function Documentation

◆ print_status()

template<class Tvec >
void shammodels::sph::BCConfig< Tvec >::print_status ( )
inline

Prints the current boundary condition configuration to the logger.

The function logs the type of boundary condition (free, periodic, or shearing periodic) and the relevant parameters for the shearing periodic case.

Definition at line 121 of file BCConfig.hpp.

+ Here is the call graph for this function:

◆ set_free()

template<class Tvec >
void shammodels::sph::BCConfig< Tvec >::set_free ( )
inline

Set the boundary condition to free boundaries.

Definition at line 98 of file BCConfig.hpp.

◆ set_periodic()

template<class Tvec >
void shammodels::sph::BCConfig< Tvec >::set_periodic ( )
inline

Set the boundary condition to periodic boundaries.

Definition at line 101 of file BCConfig.hpp.

◆ set_shearing_periodic()

template<class Tvec >
void shammodels::sph::BCConfig< Tvec >::set_shearing_periodic ( i32_3  shear_base,
i32_3  shear_dir,
Tscal  speed 
)
inline

Set the boundary condition to shearing periodic boundaries.

Parameters
shear_baseThe base of the scalar product to define the number of shearing periodicity to be applied
shear_dirThe direction of the shear
speedThe speed of the shear

Definition at line 111 of file BCConfig.hpp.

Member Data Documentation

◆ config

template<class Tvec >
Variant shammodels::sph::BCConfig< Tvec >::config = Free{}

The actual configuration (default to free boundaries)

Definition at line 95 of file BCConfig.hpp.

◆ dim

template<class Tvec >
constexpr u32 shammodels::sph::BCConfig< Tvec >::dim = shambase::VectorProperties<Tvec>::dimension
staticconstexpr

Number of dimensions of the problem.

Definition at line 45 of file BCConfig.hpp.


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