XGCa
|
#include <flux_surface_average.hpp>
Public Member Functions | |
FluxSurfaceAverage () | |
template<class Device2 > | |
FluxSurfaceAverage< Device2 > | mirror () const |
FluxSurfaceAverage (NLReader::NamelistReader &nlr, const DomainDecomposition< DeviceType > &pol_decomp, const MagneticField< DeviceType > &magnetic_field, const Plane< HostType > &plane, const PlaneFiles &plane_files, const VolumesAndAreas &volumes_and_areas, const View< int *, CLayout, DeviceType > &num_t_node, const View< int **, CLayout, DeviceType > &tr_node) | |
View< double *, CLayout, Device > | to_surf (const View< double *, CLayout, Device > &input) const |
void | from_surf (const View< double *, CLayout, Device > &input, const View< double *, CLayout, Device > &output) const |
View< double *, CLayout, Device > | average (const View< double *, CLayout, Device > &array) const |
View< double *, CLayout, Device > | average (const View< double *, CLayout, Device > &array, const View< double *, CLayout, Device > &output_surf) const |
void | average (const View< double *, CLayout, Device > &array, const View< double *, CLayout, Device > &output_surf, const View< double *, CLayout, Device > &tmp00) const |
void | average (const View< double **, CLayout, Device > &array) const |
View< double *, CLayout, Device > | average_3D (const DomainDecomposition< DeviceType > &pol_decomp, const View< double *, CLayout, Device > &array, const View< double *, CLayout, Device > &output_array) const |
int | nsurfs () const |
Private Member Functions | |
void | wall_nodes_strikep_method (NLReader::NamelistReader &nlr, const MagneticField< DeviceType > &magnetic_field, const Plane< HostType > &plane, const PlaneFiles &plane_files, const View< double *, CLayout, HostType > &psi_surf, const View< int *, CLayout, DeviceType > &num_t_node, const View< int **, CLayout, DeviceType > &tr_node) |
template<> | |
void | wall_nodes_strikep_method (NLReader::NamelistReader &nlr, const MagneticField< DeviceType > &magnetic_field, const Plane< HostType > &plane, const PlaneFiles &plane_files, const View< double *, CLayout, HostType > &psi_surf, const View< int *, CLayout, DeviceType > &num_t_node_d, const View< int **, CLayout, DeviceType > &tr_node_d) |
template<> | |
FluxSurfaceAverage (NLReader::NamelistReader &nlr, const DomainDecomposition< DeviceType > &pol_decomp, const MagneticField< DeviceType > &magnetic_field, const Plane< HostType > &plane, const PlaneFiles &plane_files, const VolumesAndAreas &volumes_and_areas, const View< int *, CLayout, DeviceType > &num_t_node, const View< int **, CLayout, DeviceType > &tr_node) | |
Private Attributes | |
Matrix< Device > | to_flux_surface |
Matrix< Device > | from_flux_surface |
View< double *, CLayout, Device > | surf_vol |
View< double *, CLayout, Device > | surf_vol_3D |
Friends | |
template<class Device2 > | |
class | FluxSurfaceAverage |
|
inline |
FluxSurfaceAverage< Device >::FluxSurfaceAverage | ( | NLReader::NamelistReader & | nlr, |
const DomainDecomposition< DeviceType > & | pol_decomp, | ||
const MagneticField< DeviceType > & | magnetic_field, | ||
const Plane< HostType > & | plane, | ||
const PlaneFiles & | plane_files, | ||
const VolumesAndAreas & | volumes_and_areas, | ||
const View< int *, CLayout, DeviceType > & | num_t_node, | ||
const View< int **, CLayout, DeviceType > & | tr_node | ||
) |
|
private |
View< double *, CLayout, Device > FluxSurfaceAverage< Device >::average | ( | const View< double *, CLayout, Device > & | array | ) | const |
Conducts a flux-surface average on the poloidal plane in place
[in] | array | View containing the input values at each vertex of the local plane |
View< double *, CLayout, Device > FluxSurfaceAverage< Device >::average | ( | const View< double *, CLayout, Device > & | array, |
const View< double *, CLayout, Device > & | output_array | ||
) | const |
Calculates the flux-surface average.
[in] | array | View containing the input values at each vertex of the local plane |
[out] | output_array | View containing the results of the flux-surface average |
void FluxSurfaceAverage< Device >::average | ( | const View< double *, CLayout, Device > & | array, |
const View< double *, CLayout, Device > & | output_array, | ||
const View< double *, CLayout, Device > & | tmp00 | ||
) | const |
Calculates the flux-surface average.
[in] | array | View containing the input values at each vertex of the local plane |
[out] | output_array | View with the results of the average for each vertex |
[out] | tmp00 | View used as scratch memory |
void FluxSurfaceAverage< Device >::average | ( | const View< double **, CLayout, Device > & | array_set | ) | const |
Conducts a flux-surface average on the poloidal plane of a set of arrays stored in a 2D View where the outer index is the number of arrays
[in,out] | array_set | View containing the input values at each vertex for a set of arrays. The values are overwritten with the results. |
View< double *, CLayout, Device > FluxSurfaceAverage< Device >::average_3D | ( | const DomainDecomposition< DeviceType > & | pol_decomp, |
const View< double *, CLayout, Device > & | array, | ||
const View< double *, CLayout, Device > & | output_array | ||
) | const |
Calculates the 3D flux-surface average. The function assumes that each plane has the same psi surfaces in the same order.
[in] | pol_decomp | The domain decomposition |
[in] | array | View containing the input values at each vertex of the local plane |
[out] | output_array | View with the results of the average for each vertex |
void FluxSurfaceAverage< Device >::from_surf | ( | const View< double *, CLayout, Device > & | input_surf, |
const View< double *, CLayout, Device > & | output | ||
) | const |
Maps flux-surface values back to the vertices.
[in] | input_surf | View containing the values on each flux surface |
[out] | output | View with the surface values mapped back to each vertex |
|
inline |
int FluxSurfaceAverage< Device >::nsurfs | ( | ) | const |
Returns the number of surfaces mapped by the flux surface matrices
View< double *, CLayout, Device > FluxSurfaceAverage< Device >::to_surf | ( | const View< double *, CLayout, Device > & | input | ) | const |
Calculates the flux-surface average.
[in] | array | View containing the input values at each vertex of the local plane |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |