File fci.hxx#
-
class FCIMap#
- #include <fci.hxx>
Field line map - contains the coefficients for interpolation.
Public Members
-
const int offset#
Direction of map.
Private Members
-
std::unique_ptr<XZInterpolation> interp#
Interpolation objects.
-
std::unique_ptr<XZInterpolation> interp_corner#
-
const int offset#
-
class FCITransform : public ParallelTransform#
- #include <fci.hxx>
Flux Coordinate Independent method for parallel derivatives.
Public Functions
-
FCITransform() = delete#
-
inline FCITransform(Mesh &mesh, const Coordinates::FieldMetric &dy, bool zperiodic = true, Options *opt = nullptr)#
-
virtual void calcParallelSlices(Field3D &f) override#
Given a 3D field, calculate and set the Y up down fields.
-
virtual void integrateParallelSlices(Field3D &f) override#
Calculate Yup and Ydown fields by integrating over mapped points This should be used for parallel divergence operators
-
inline virtual Field3D toFieldAligned(const Field3D &f, const std::string ®ion = "RGN_ALL") override#
Convert a field into field-aligned coordinates so that the y index is along the magnetic field
-
inline virtual FieldPerp toFieldAligned(const FieldPerp &f, const std::string ®ion = "RGN_ALL") override#
-
inline virtual Field3D fromFieldAligned(const Field3D &f, const std::string ®ion = "RGN_ALL") override#
Convert back from field-aligned coordinates into standard form
-
inline virtual FieldPerp fromFieldAligned(const FieldPerp &f, const std::string ®ion = "RGN_ALL") override#
-
inline virtual bool canToFromFieldAligned() const override#
-
void outputVars(Options &output_options) override#
Save mesh variables to output If R and Z(x,y,z) coordinates are in the input then these are saved to output.
-
inline bool requiresTwistShift(bool twist_shift_enabled, [[maybe_unused]] YDirectionType ytype) override#
Protected Functions
-
virtual void checkInputGrid() override#
This method should be called in the constructor to check that if the grid has a ‘parallel_transform’ variable, it has the correct value
-
FCITransform() = delete#