coords_polar_m Module

Coordinate transformations Cartesian (x,y) <-> Polar (rho, theta) rho is normalized flux surface label theta is geometric poloidal angle, measured ccw from +x with respect to magnetic axis


Uses

  • module~~coords_polar_m~~UsesGraph module~coords_polar_m coords_polar_m module~comm_handling_m comm_handling_m module~coords_polar_m->module~comm_handling_m module~constants_m constants_m module~coords_polar_m->module~constants_m module~equilibrium_m equilibrium_m module~coords_polar_m->module~equilibrium_m module~precision_m precision_m module~coords_polar_m->module~precision_m module~root_finding_m root_finding_m module~coords_polar_m->module~root_finding_m module~screen_io_m screen_io_m module~coords_polar_m->module~screen_io_m module~slab_equilibrium_m slab_equilibrium_m module~coords_polar_m->module~slab_equilibrium_m mpi mpi module~comm_handling_m->mpi module~constants_m->module~precision_m module~equilibrium_m->module~precision_m iso_c_binding iso_c_binding module~precision_m->iso_c_binding iso_fortran_env iso_fortran_env module~precision_m->iso_fortran_env module~precision_m->mpi netcdf netcdf module~precision_m->netcdf module~root_finding_m->module~precision_m module~screen_io_m->module~precision_m module~screen_io_m->iso_fortran_env module~screen_io_m->netcdf module~slab_equilibrium_m->module~equilibrium_m module~slab_equilibrium_m->module~precision_m module~slab_equilibrium_m->module~screen_io_m module~descriptors_m descriptors_m module~slab_equilibrium_m->module~descriptors_m module~params_equi_slab_m params_equi_slab_m module~slab_equilibrium_m->module~params_equi_slab_m module~descriptors_m->module~screen_io_m module~params_equi_slab_m->module~precision_m module~params_equi_slab_m->module~screen_io_m module~params_equi_slab_m->iso_fortran_env module~error_handling_m error_handling_m module~params_equi_slab_m->module~error_handling_m module~status_codes_m status_codes_m module~params_equi_slab_m->module~status_codes_m module~error_handling_m->module~comm_handling_m module~error_handling_m->module~precision_m module~error_handling_m->module~screen_io_m module~error_handling_m->mpi module~error_handling_m->netcdf module~error_handling_m->module~status_codes_m

Used by

  • module~~coords_polar_m~~UsedByGraph module~coords_polar_m coords_polar_m module~polar_grid_m polar_grid_m module~polar_grid_m->module~coords_polar_m module~polar_map_factory_m polar_map_factory_m module~polar_map_factory_m->module~coords_polar_m module~polar_map_factory_m->module~polar_grid_m module~safety_factor_m safety_factor_m module~safety_factor_m->module~coords_polar_m module~zonal_averages_factory_m zonal_averages_factory_m module~zonal_averages_factory_m->module~coords_polar_m module~zonal_averages_factory_m->module~polar_grid_m program~diagnose_poincare diagnose_poincare program~diagnose_poincare->module~coords_polar_m module~polar_grid_s polar_grid_s module~polar_grid_s->module~polar_grid_m

Functions

public function jacobian_polar(equi, x, y, phi)

Jacobian of polar coordinate system To compute derivatives on rho, finite difference is used N.B. currently only axisymmetric (2D), proper inclusion of toroidal phi will change this function

Arguments

Type IntentOptional Attributes Name
class(equilibrium_t), intent(inout) :: equi

Equilibrium

real(kind=FP), intent(in) :: x

Cartesian coordinate x

real(kind=FP), intent(in) :: y

Cartesian coordinate y

real(kind=FP), intent(in) :: phi

Toroidal angle

Return Value real(kind=fp)


Subroutines

public subroutine cart_to_polar(equi, x, y, phi, rho, theta)

Coordinate transformation from polar to Cartesian

Arguments

Type IntentOptional Attributes Name
class(equilibrium_t), intent(inout) :: equi

Equilibrium

real(kind=FP), intent(in) :: x

Cartesian coordinate x

real(kind=FP), intent(in) :: y

Cartesian coordinate y

real(kind=FP), intent(in) :: phi

Toroidal angle

real(kind=FP), intent(out) :: rho

Polar coordinate rho (normalized flux surface label)

real(kind=FP), intent(out) :: theta

Polar coordinate theta (geometric poloidal angle)

public subroutine polar_to_cart(equi, rho, theta, phi, x, y)

Coordinate transformation from Cartesian to polar

Arguments

Type IntentOptional Attributes Name
class(equilibrium_t), intent(inout) :: equi

Equilibrium

real(kind=FP), intent(in) :: rho

Polar coordinate rho

real(kind=FP), intent(in) :: theta

Polar coordinate theta (geometric poloidal angle)

real(kind=FP), intent(in) :: phi

Toroidal angle

real(kind=FP), intent(out) :: x

Cartesian coordinate x

real(kind=FP), intent(out) :: y

Cartesian coordinate y