ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
eb_cut_cell_::path_data Struct Reference

#include <ERF_EBCutCell.H>

Collaboration diagram for eb_cut_cell_::path_data:

Public Member Functions

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE path_data ()=default
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void set (const amrex::RealVect &eb_point, const amrex::RealVect &eb_normal, const amrex::RealVect &v_start, const amrex::RealVect &v_end)
 

Public Attributes

bool intersected {}
 
bool intersected_start {}
 
bool intersected_end {}
 
amrex::RealVect vIP {}
 
amrex::Real distIP {}
 
amrex::Real edge_length {}
 

Constructor & Destructor Documentation

◆ path_data()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE eb_cut_cell_::path_data::path_data ( )
default

Member Function Documentation

◆ set()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void eb_cut_cell_::path_data::set ( const amrex::RealVect &  eb_point,
const amrex::RealVect &  eb_normal,
const amrex::RealVect &  v_start,
const amrex::RealVect &  v_end 
)
inline
390  {
391  constexpr amrex::Real tol = 1.e-15;
392  amrex::RealVect v_intersect;
393  amrex::Real dist_intersect;
395  eb_point, eb_normal, v_start, v_end, v_intersect, dist_intersect
396  );
397  vIP = v_intersect;
398  distIP = dist_intersect;
399  edge_length = (v_start - v_end).vectorLength();
400  // check if intersection is at vertices
401  intersected_start = (amrex::Math::abs(dist_intersect) < tol);
402  intersected_end = (amrex::Math::abs(edge_length - dist_intersect) < tol);
403  }
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE int intersect_plane_edge(amrex::RealVect const &a_plane_point, amrex::RealVect const &a_plane_normal, amrex::RealVect const &a_edge_point0, amrex::RealVect const &a_edge_point1, amrex::RealVect &a_intersection_point, amrex::Real &a_intersection_dist)
Definition: ERF_EBCutCell.H:15
amrex::Real Real
Definition: ERF_ShocInterface.H:19
amrex::RealVect vIP
Definition: ERF_EBCutCell.H:380
amrex::Real distIP
Definition: ERF_EBCutCell.H:381
amrex::Real edge_length
Definition: ERF_EBCutCell.H:382
bool intersected_end
Definition: ERF_EBCutCell.H:379
bool intersected
Definition: ERF_EBCutCell.H:377
bool intersected_start
Definition: ERF_EBCutCell.H:378

Referenced by eb_cut_cell_::calc_edge_intersections().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ distIP

amrex::Real eb_cut_cell_::path_data::distIP {}

Referenced by set().

◆ edge_length

amrex::Real eb_cut_cell_::path_data::edge_length {}

Referenced by set().

◆ intersected

bool eb_cut_cell_::path_data::intersected {}

◆ intersected_end

bool eb_cut_cell_::path_data::intersected_end {}

◆ intersected_start

bool eb_cut_cell_::path_data::intersected_start {}

◆ vIP

amrex::RealVect eb_cut_cell_::path_data::vIP {}

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