DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
EulerP_BC.hpp File Reference

Boundary condition types, implementations, and handler for the EulerP module. More...

Include dependency graph for EulerP_BC.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  DNDS::EulerP::BCFunc_Impl< B, BCType::Far >
 Farfield BC implementation (TODO: not yet implemented). More...
 
struct  DNDS::EulerP::BCFunc_Impl< B, BCType::Wall >
 No-slip viscous wall BC implementation (TODO: not yet implemented). More...
 
struct  DNDS::EulerP::BCFunc_Impl< B, BCType::WallIsothermal >
 Isothermal viscous wall BC implementation (TODO: not yet implemented). More...
 
struct  DNDS::EulerP::BCFunc_Impl< B, BCType::Out >
 Outflow BC implementation (TODO: not yet implemented). More...
 
struct  DNDS::EulerP::BCFunc_Impl< B, BCType::OutP >
 Outflow with back-pressure BC implementation (TODO: not yet implemented). More...
 
struct  DNDS::EulerP::BCFunc_Impl< B, BCType::InPsTs >
 Inflow with stagnation pressure/temperature BC implementation (TODO: not yet implemented). More...
 
struct  DNDS::EulerP::BCFunc_Impl< B, BCType::Sym >
 Symmetry plane BC implementation (TODO: not yet implemented). More...
 
struct  DNDS::EulerP::BCFunc_Impl< B, BCType::Special >
 Special-purpose BC implementation for benchmark cases (TODO: not yet implemented). More...
 
struct  DNDS::EulerP::BCFunc_Impl< B, BCType::In >
 General inflow BC implementation (TODO: not yet implemented). More...
 
struct  DNDS::EulerP::BCFunc_Impl< B, BCType::WallInvis >
 Inviscid (slip) wall BC implementation (TODO: not yet implemented). More...
 
class  DNDS::EulerP::BC_DeviceView< B >
 Device-callable view of a single boundary condition. More...
 
class  DNDS::EulerP::BC
 Host-side boundary condition object managing parameter values and device transfer. More...
 
class  DNDS::EulerP::BCHandlerDeviceView< B >
 Device-callable view of the BC handler providing BC lookup by zone ID. More...
 
struct  DNDS::EulerP::BCInput
 Simple struct for JSON-deserialized boundary condition input specification. More...
 
class  DNDS::EulerP::BCHandler
 Host-side boundary condition handler managing all BC objects for a simulation. More...
 
struct  DNDS::EulerP::BCHandler::t_deviceView< B >
 Move-only device view wrapper owning the BC device view storage. More...
 

Namespaces

namespace  DNDS
 the host side operators are provided as implemented
 
namespace  DNDS::EulerP
 Namespace for the EulerP alternative evaluator module with GPU support.
 

Macros

#define DNDS_EULERP_BC_INTERFACE_APPLY
 Macro defining the standard BC apply interface signature.
 
#define DNDS_EULERP_CASE_BC_APPLY(type)
 

Enumerations

enum class  DNDS::EulerP::BCType : uint8_t {
  DNDS::EulerP::Unknown = 0 , DNDS::EulerP::Far , DNDS::EulerP::Wall , DNDS::EulerP::WallInvis ,
  DNDS::EulerP::WallIsothermal , DNDS::EulerP::Out , DNDS::EulerP::OutP , DNDS::EulerP::In ,
  DNDS::EulerP::InPsTs , DNDS::EulerP::Sym , DNDS::EulerP::Special
}
 Enumeration of boundary condition types for the EulerP module. More...
 

Functions

 DNDS::EulerP::DNDS_DEFINE_ENUM_JSON (BCType, { {BCType::Unknown, nullptr}, {BCType::Far, "Far"}, {BCType::Wall, "Wall"}, {BCType::WallInvis, "WallInvis"}, {BCType::WallIsothermal, "WallIsothermal"}, {BCType::Out, "Out"}, {BCType::OutP, "OutP"}, {BCType::In, "In"}, {BCType::InPsTs, "InPsTs"}, {BCType::Sym, "Sym"}, {BCType::Special, "Special"}, }) template< DeviceBackend B > using BCStorageVecDeviceView
 Type alias for the device-resident BC parameter storage vector.
 

Detailed Description

Boundary condition types, implementations, and handler for the EulerP module.

Provides:

  • BCType: Enumeration of supported boundary condition types (Far, Wall, Sym, etc.)
  • BCFunc_Impl: Template specializations for each BC type (currently stubs, TODO)
  • BC_DeviceView / BC: Device-callable and host-side single BC objects
  • BCHandlerDeviceView / BCHandler: Device-callable and host-side BC managers
  • BCInput: JSON-deserializable input struct for BC configuration

The BC system uses a runtime switch-dispatch in BC_DeviceView::apply() to route to the appropriate BCFunc_Impl specialization, enabling device-callable BC evaluation on both Host and CUDA backends.

Definition in file EulerP_BC.hpp.

Macro Definition Documentation

◆ DNDS_EULERP_BC_INTERFACE_APPLY

#define DNDS_EULERP_BC_INTERFACE_APPLY
Value:
template <class tU, class tUOut, class tx, class tn> \
DNDS_DEVICE_CALLABLE static void apply( \
tU &&U, tUOut &&UOut, int32_t uSiz, \
tx &&x, tn &&n, \
Geom::t_index id, \
BCStorageVecDeviceView<B> value, PhysicsDeviceView<B> &phy)
#define DNDS_DEVICE_CALLABLE
Definition Defines.hpp:76
tVec x(NCells)
Eigen::Vector3d n(1.0, 0.0, 0.0)

Macro defining the standard BC apply interface signature.

Expands to a static device-callable apply function taking:

  • U: Input conservative state
  • UOut: Output (ghost) conservative state
  • uSiz: Number of variables
  • x: Face centroid coordinates
  • n: Outward face normal
  • id: Boundary zone ID
  • value: BC parameter storage view
  • phy: Physics device view

Definition at line 92 of file EulerP_BC.hpp.

◆ DNDS_EULERP_CASE_BC_APPLY

#define DNDS_EULERP_CASE_BC_APPLY (   type)
Value:
case type: \
{ \
BCFunc_Impl<B, type>::apply(U, UOut, uSiz, x, n, id, values, phy); \
} \
break;