field_t Derived Type

type, public, abstract :: field_t

Abstract base type for magnetic fields in Boozer coordinates.

Concrete implementations supply B_mod, sqrt(g), gradients, and covariant components.


Inherited by

type~~field_t~~InheritedByGraph type~field_t field_t type~boozer_field_t boozer_field_t type~boozer_field_t->type~field_t type~fourier_field_t fourier_field_t type~fourier_field_t->type~field_t

Type-Bound Procedures

procedure(compute_B_sqrtg_dB_dx), public, deferred :: compute_B_sqrtg_dB_dx

  • subroutine compute_B_sqrtg_dB_dx(self, theta, phi, B_mod, sqrtg, dB_dx) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(field_t), intent(in) :: self
    real(kind=dp), intent(in) :: theta
    real(kind=dp), intent(in) :: phi
    real(kind=dp), intent(out) :: B_mod
    real(kind=dp), intent(out) :: sqrtg
    real(kind=dp), intent(out) :: dB_dx(3)

procedure(compute_B_and_dB_dx), public, deferred :: compute_B_and_dB_dx

  • subroutine compute_B_and_dB_dx(self, theta, phi, B_mod, dB_dx) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(field_t), intent(in) :: self
    real(kind=dp), intent(in) :: theta
    real(kind=dp), intent(in) :: phi
    real(kind=dp), intent(out) :: B_mod
    real(kind=dp), intent(out) :: dB_dx(3)

procedure(compute_B_mod), public, deferred :: compute_B_mod

  • subroutine compute_B_mod(self, theta, phi, B_mod) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(field_t), intent(in) :: self
    real(kind=dp), intent(in) :: theta
    real(kind=dp), intent(in) :: phi
    real(kind=dp), intent(out) :: B_mod

procedure(compute_nabla_s), public, deferred :: compute_nabla_s

  • subroutine compute_nabla_s(self, theta, phi, nabla_s) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(field_t), intent(in) :: self
    real(kind=dp), intent(in) :: theta
    real(kind=dp), intent(in) :: phi
    real(kind=dp), intent(out) :: nabla_s

procedure(rel_accuracy_B), public, deferred :: rel_accuracy_B

  • function rel_accuracy_B(self) Prototype

    Relative accuracy of B_mod evaluations for this field representation.

    Arguments

    Type IntentOptional Attributes Name
    class(field_t), intent(in) :: self

    Return Value real(kind=dp)

procedure(get_covariant_components), public, deferred :: get_covariant_components

  • subroutine get_covariant_components(self, B_theta_covariant, B_phi_covariant) Prototype

    Covariant components of B (flux-surface constants in Boozer coordinates).

    Arguments

    Type IntentOptional Attributes Name
    class(field_t), intent(in) :: self
    real(kind=dp), intent(out) :: B_theta_covariant
    real(kind=dp), intent(out) :: B_phi_covariant