1 #ifndef LINE_OF_SIGHT_HPP
2 #define LINE_OF_SIGHT_HPP
44 const double& theta_in,
const double& step_size_in);
83 View<double*,CLayout,DeviceType> r_los, View<double*,CLayout,DeviceType> z_los,
84 View<double*,CLayout,DeviceType> psi_los)
const;
100 const Kokkos::View<double*, CLayout, DeviceType>& field_in)
const;
Represents a two-dimensional line-of-sight in cylindrical coordinates.
Definition: line_of_sight.hpp:24
int get_samples() const
Returns the number of sample points along the line-of-sight.
Definition: line_of_sight.hpp:73
View< double *, CLayout, DeviceType > interpolate_to_los(const Plane< DeviceType > &plane, const ScalarGridField &field_in) const
Interpolates a ScalarGridField to the sample points on the line-of-sight.
Definition: line_of_sight.cpp:204
double z0
Vertical coordinate (height) of the line-of-sight's origin.
Definition: line_of_sight.hpp:27
int samples
Number of sample points.
Definition: line_of_sight.hpp:31
double r0
Major radius coordinate of the line-of-sight's origin.
Definition: line_of_sight.hpp:26
void sample_points(const MagneticField< DeviceType > &magnetic_field, View< double *, CLayout, DeviceType > r_los, View< double *, CLayout, DeviceType > z_los, View< double *, CLayout, DeviceType > psi_los) const
Computes the sample points , and the poloidal flux along the line-of-sight.
Definition: line_of_sight.cpp:95
double theta
Direction of the line of sight. This angle must satisfy .
Definition: line_of_sight.hpp:29
bool valid
Indicates whether the line-of-sight has been instantiated correctly.
Definition: line_of_sight.hpp:25
double get_r0() const
Returns the R-coordinate of the line-of-sight's origin.
Definition: line_of_sight.hpp:53
double get_z0() const
Returns the Z-coordinate of the line-of-sight's origin.
Definition: line_of_sight.hpp:58
KOKKOS_INLINE_FUNCTION double interpolate_single(const Plane< DeviceType > &plane, const Kokkos::View< double *, CLayout, DeviceType > &field_in, const int i) const
Interpolates the field value at a single sample point along the line-of-sight.
Definition: line_of_sight.cpp:171
double step_size
Step size or resolution along the line-of-sight in meters.
Definition: line_of_sight.hpp:30
double phi0
Toroidal angle of the plane on which the line-of-sight is defined.
Definition: line_of_sight.hpp:28
double get_theta() const
Returns the direction angle ( ) of the line-of-sight.
Definition: line_of_sight.hpp:68
LineOfSight()
Default constructor.
Definition: line_of_sight.hpp:40
double get_phi0() const
Returns the toroidal angle of the line-of-sight's origin.
Definition: line_of_sight.hpp:63
bool is_valid() const
Indicates whether the line-of-sight is valid.
Definition: line_of_sight.hpp:78
Definition: magnetic_field.hpp:12
Definition: magnetic_field.F90:1
logical false
Definition: module.F90:102
Definition: grid_field.hpp:22