|
| HeatDiagnostics () |
|
void | init (NLReader::NamelistReader &nlr, const MagneticField< Device > &magnetic_field, const Grid< Device > &grid, int nspecies) |
|
| HeatDiagnostics (NLReader::NamelistReader &nlr, const MagneticField< Device > &magnetic_field, const Grid< Device > &grid, int nspecies) |
|
int | get_nspecies () const |
|
void | write (Plasma &plasma, double time, int gstep) |
|
KOKKOS_INLINE_FUNCTION void | port (const Grid< Device > &grid, const MagneticField< Device > &magnetic_field, const Simd< bool > &just_left_the_grid, const Simd< double > &w, const Simd< double > &pot, const Simd< double > &epara, const Simd< double > &eperp, const SimdConstants &ct, const SimdPhase &old_ph, const SimdVector2D &xff_old, const SimdPhase &new_ph, int stype) const |
|
KOKKOS_INLINE_FUNCTION int | wall_cross2 (double r1, double z1, double r2, double z2) const |
|
bool | is_triggered (int step) |
|
bool | has_been_triggered (int step) |
|
int | get_period () const |
|
| Diagnostic () |
|
void | init (const std::string &name, int period, int first_step=-1) |
|
void | open_stream (const std::string &filename, const XGC_IO_Mode &mode) |
|
void | close_stream () |
|
void | write (const XGC_IO &xgc_io) |
|
void | start_write_step () |
|
bool | is_first_step () |
|
void | end_write_step () |
|
|
int | mode |
| Using mode 1 or mode 2. More...
|
|
int | nsection |
| Number of sections. More...
|
|
int | npsi |
| Number of psi bins. More...
|
|
int | nr |
| Number of r bins. More...
|
|
int | nz |
| Number of z bins. More...
|
|
View< double *, CLayout, Device > | rmin |
| First r bin. More...
|
|
View< double *, CLayout, Device > | rmax |
| End of last r bin. More...
|
|
View< double *, CLayout, Device > | dr |
| dr More...
|
|
View< double *, CLayout, Device > | zmin |
| First z bin. More...
|
|
View< double *, CLayout, Device > | zmax |
| End of last z bin. More...
|
|
View< double *, CLayout, Device > | dz |
| dz More...
|
|
View< double *, CLayout, Device > | pmin |
| First psi min. More...
|
|
View< double *, CLayout, Device > | dp |
| dpsi More...
|
|
View< double ******, CLayout,
Device > | pv |
| Array for the heat diagnostic in (r,z) More...
|
|
View< double *****, CLayout,
Device > | pv_psi |
| Array for the heat diagnostic in (psi) More...
|
|
int | nseg |
| Number of segments. More...
|
|
int | nphi |
| Number of phi bins. More...
|
|
double | delta_phi |
| dphi More...
|
|
View< RZPair *, CLayout, Device > | x |
|
View< double *, CLayout, HostType > | psi2 |
|
View< double *, CLayout, HostType > | ds2 |
|
View< double *, CLayout, HostType > | strike_angle2 |
|
View< double *****, CLayout,
Device > | pv_psi2 |
| Array for the heat diagnostic in (psi^2) More...
|
|
bool | is_on |
|
template<class Device >
KOKKOS_INLINE_FUNCTION int HeatDiagnostics< Device >::wall_cross2 |
( |
double |
r1, |
|
|
double |
z1, |
|
|
double |
r2, |
|
|
double |
z2 |
|
) |
| const |
This is a general routine for identifying the segment of a closed polygon intersected by the input segment. If no intersection is found, the routine returns 0.
The particular application in this code is to determine which segment of the boundary was crossed by a particle, with the crossing have been previously flagged by subroutine wall_check. The first point of the segment is the previous location of the particle. The second is its current location, which should be outside the boundary. Should this segment not intersect the boundary for some reason, the routine will return 0.
- Parameters
-
[in] | r1 | old r coordinate |
[in] | z1 | old z coordinate |
[in] | r2 | new r coordinate |
[in] | z2 | new z coordinate |
- Returns
- Wall segment