The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
gs_eq Type Reference

Detailed Description

Grad-Shafranov equilibrium object.

Public Member Functions

procedure delete (self)
 Destory G-S object.
 
procedure get_chi (self)
 Compute toroidal field potential.
 
procedure init (self)
 Build operators and allocate storage.
 
procedure init_psi (self, ierr, r0, a, kappa, delta, curr_source)
 Initialize \( \psi \) using simple definition.
 
procedure itor (self, psi_vec)
 Compute approximate toroidal current as \( \int \Delta^* \psi dA \).
 
procedure lin_solve (self, adjust_r0, ierr)
 Solve linearized version of G-S system (fixed RHS)
 
procedure load_limiters (self)
 Load non-node limiter points.
 
procedure setup (self, ml_lag_2d)
 Setup G-S object from FE representation.
 
procedure solve (self, ierr)
 Solve nonlinear G-S system.
 
procedure vac_solve (self, psi_sol, rhs_source, ierr)
 Solve vacuum field for given \( J_{\phi} \).
 

Public Attributes

real(r8alam = 1.d0
 Scale factor for F*F' or F' profile (see mode)
 
real(r8), dimension(:,:), pointer bc_bmat => NULL()
 Second part of free-boundary BC matrix.
 
real(r8), dimension(:,:), pointer bc_lmat => NULL()
 First part of free-boundary BC matrix.
 
integer(i4bc_nrhs = 0
 Number of terms in free-boundary BC.
 
integer(i4), dimension(:), pointer bc_rhs_list => NULL()
 List of terms interacting with free-boundary BC.
 
class(oft_vector), pointer chi => NULL()
 Toroidal field potential (if computed)
 
real(r8), dimension(:,:), pointer coil_bounds => NULL()
 Coil current bounds.
 
real(r8), dimension(:), pointer coil_currs => NULL()
 Coil currents.
 
character(len=oft_path_slen) coil_file = 'none'
 File containing coil definitions.
 
real(r8), dimension(:,:), pointer coil_nturns => NULL()
 Number of turns for each coil in each region.
 
real(r8), dimension(:,:), pointer coil_reg_mat => NULL()
 Coil regularization terms.
 
real(r8), dimension(:), pointer coil_reg_targets => NULL()
 Targets for coil regularization terms.
 
type(coil_region), dimension(:), pointer coil_regions => NULL()
 Meshed coil regions.
 
real(r8), dimension(:), pointer coil_vcont => NULL()
 Virtual VSC definition as weighted sum of other coils.
 
type(axi_coil_set), dimension(:), pointer coils_ext => NULL()
 External coil definitions.
 
logical compute_chi = .FALSE.
 Compute toroidal field potential?
 
type(cond_region), dimension(:), pointer cond_regions => NULL()
 Meshed conducting regions.
 
real(r8), dimension(:), pointer cond_weights => NULL()
 Needs docs.
 
class(oft_matrix), pointer dels => NULL()
 \( \frac{1}{R} \Delta^* \) matrix
 
class(oft_matrix), pointer dels_dt => NULL()
 LHS matrix with time dependence.
 
class(oft_matrix), pointer dels_full => NULL()
 \( \frac{1}{R} \Delta^* \) matrix with no BC
 
real(r8dipole_a = 0.d0
 Anisotropy exponent for dipole pressure profiles.
 
class(flux_func), pointer dipole_b0 => NULL()
 Dipole minimum B profile.
 
logical dipole_mode = .FALSE.
 Needs docs.
 
logical diverted = .FALSE.
 Equilibrium is diverted?
 
real(r8dt = -1.d0
 Timestep size for time-dependent and quasi-static solves.
 
real(r8dt_last = -1.d0
 Timestep size for current LHS matrix.
 
real(r8estore_target = -1.d0
 Stored energy target.
 
class(flux_func), pointer eta => NULL()
 Resistivity flux function.
 
logical, dimension(:), pointer fe_flag => NULL()
 FE boundary flag.
 
class(oft_scalar_bfem), pointer fe_rep => NULL()
 Lagrange FE representation.
 
integer(i4flux_ntargets = 0
 Number of \( \psi \) target locations.
 
real(r8), dimension(:,:), pointer flux_targets => NULL()
 Flux target locations and values.
 
logical free = .FALSE.
 Computing free-boundary equilibrium?
 
logical full_domain = .FALSE.
 Solve across full domain (for Solov'ev test cases)
 
type(oft_gs_zerob), pointer gs_zerob_bc => NULL()
 BC object for zeroing nodes outside plasma region.
 
logical has_plasma = .TRUE.
 Solve with plasma? (otherwise vacuum)
 
class(flux_func), pointer i => NULL()
 F*F' flux function.
 
class(flux_func), pointer i_ni => NULL()
 Non-inductive F*F' flux function.
 
integer(i4ierr = 0
 Error flag from most recent solve.
 
real(r8ip_ratio_target = -1.d99
 Ip ratio target.
 
real(r8isoflux_grad_wt_lim = -1.d0
 Limit for isoflux inverse gradient weighting (negative to disable)
 
integer(i4isoflux_ntargets = 0
 Number of isoflux target locations.
 
real(r8), dimension(:,:), pointer isoflux_targets => NULL()
 Isoflux target locations.
 
real(r8itor_target = -1.d0
 Toroidal current target.
 
real(r8), dimension(:,:), pointer lcoils => NULL()
 Coil mutual inductance matrix.
 
real(r8lim_area = -1.d0
 Area inside the limiter.
 
integer(i4), dimension(:), pointer lim_con => NULL()
 Limiter contour list (contains all limiters)
 
integer(i4lim_nloops = 0
 Number of limiter loops.
 
real(r8), dimension(2) lim_point = [-1.d0,1.d99]
 Location of limiting point or active X-point.
 
integer(i4), dimension(:), pointer lim_ptr => NULL()
 Pointer to start of each.
 
real(r8lim_zmax = 1.d99
 Vertical position cutoff for limiter points.
 
character(len=oft_path_slen) limiter_file = 'none'
 File non-node limiter points.
 
integer(i4), dimension(:), pointer limiter_nds => NULL()
 List of limiter nodes.
 
real(r8), dimension(:,:), pointer limiter_pts => NULL()
 Location of non-node limiter points.
 
type(oft_lusolverlu_solver
 \( \frac{1}{R} \Delta^* \) inverse solver
 
type(oft_lusolverlu_solver_dt
 LHS inverse solver with time dependence.
 
integer(i4maxits = 30
 Maximum number of iterations for nonlinear solve.
 
class(oft_bmesh), pointer mesh => NULL()
 Mesh.
 
type(oft_ml_fem_type), pointer ml_fe_rep => NULL()
 Multi-level Lagrange FE representation (only top level used)
 
integer(i4mode = 0
 RHS source mode (0 -> F*F', 1 -> F')
 
class(oft_matrix), pointer mop => NULL()
 Lagrange FE mass matrix.
 
class(oft_matrix), pointer mrop => NULL()
 1/R-scaled Lagrange FE mass matrix
 
integer(i4ncoil_regs = 0
 Number of meshed coil regions in device.
 
integer(i4ncoils = 0
 Number of coils in device.
 
integer(i4ncoils_ext = 0
 Number of external (non-meshed) coils in device.
 
integer(i4ncond_eigs = 0
 Number of total fixed-shape current modes for conducting regions.
 
integer(i4ncond_regs = 0
 Number of conducting regions.
 
integer(i4ninner_limiter_nds = 0
 Needs docs.
 
real(r8nl_tol = 1.d-8
 Tolerance for nonlinear solve.
 
integer(i4nlim_con = 0
 Number of node points in limiter contour list.
 
integer(i4nlimiter_nds = 0
 Number of grid nodes used as limiter points.
 
integer(i4nlimiter_pts = 0
 Number of non-node limiter points.
 
integer(i4nr0_ramp = 6
 Number of iterations for R0 ramp if R0 target is used.
 
integer(i4nregularize = 0
 Number of regularization terms.
 
integer(i4nx_points = 0
 Number of X-points in current solution.
 
real(r8), dimension(2) o_point = [-1.d0,1.d99]
 Location of magnetic axis.
 
integer(i4), dimension(:), pointer olbp => NULL()
 Oriented list of boundary points.
 
class(flux_func), pointer p => NULL()
 Pressure flux function.
 
real(r8pax_target = -1.d0
 On-axis pressure target.
 
real(r8), dimension(2) plasma_bounds = [-1.d99,1.d99]
 Boundaing \( \psi \) values on [LCFS, axis].
 
logical plot_final = .TRUE.
 Save solver result for plotting.
 
logical plot_step = .TRUE.
 Save solver steps for plotting.
 
real(r8pnorm = 1.d0
 Scale factor for P' profile.
 
class(oft_vector), pointer psi => NULL()
 Current \( \psi \) solution.
 
class(oft_vector_ptr), dimension(:), pointer psi_coil => NULL()
 \( \psi \) for each coil
 
class(oft_vector), pointer psi_dt => NULL()
 Time-dependent contribution to \( \psi \) from eddy currents.
 
real(r8psimax = 1.d0
 Maximum \( \psi \) value for homogeneous equilibria.
 
real(r8psiscale = 1.d0
 Solution scale factor for homogeneous equilibria.
 
real(r8r0_target = -1.d0
 Magnetic axis radial target.
 
type(gs_region_inforegion_info
 Region information for non-continuous conductors.
 
real(r8), dimension(:,:), pointer rlimiter_nds => NULL()
 Location of limiter nodes.
 
real(r8rmax = 0.d0
 Maximum radial coordinate in model.
 
real(r8rmin = 0.d0
 Minimum radial coordinate in model.
 
logical, dimension(:), pointer saddle_cmask => NULL()
 Cell mask for saddle search.
 
integer(i4saddle_ntargets = 0
 Number of saddle target locations.
 
logical, dimension(:), pointer saddle_pmask => NULL()
 Point mask for saddle search.
 
logical, dimension(:), pointer saddle_rmask => NULL()
 Region mask for saddle search.
 
real(r8), dimension(:,:), pointer saddle_targets => NULL()
 Saddle target locations.
 
logical save_visit = .TRUE.
 Save information for plotting?
 
real(r8), dimension(2, 2) spatial_bounds = RESHAPE([-1.d99,1.d99,-1.d99,1.d99], [2,2])
 Maximum R,Z extents of plasma.
 
real(r8), dimension(4) timing = 0.d0
 Timing for each phase of solve.
 
real(r8urf = .2d0
 Under-relaxation factor for Picard iteration.
 
real(r8v0_target = -1.d99
 Magnetic axis vertical target.
 
real(r8vcontrol_val = 0.d0
 Amplitude of virtual VSC "current".
 
real(r8), dimension(2, max_xpointsx_points = 0.d0
 Location of tracked X-points.
 
real(r8), dimension(2, max_xpointsx_vecs = 0.d0
 Vectors point from X-points to O-point.
 
type(xdmf_plot_filexdmf
 XDMF plotting object.
 
type(oft_blag_zerob), pointer zerob_bc => NULL()
 BC object for zeroing boundary nodes.
 
type(oft_blag_zerogrnd), pointer zerogrnd_bc => NULL()
 BC object for zeroing grounding node(s)
 

Member Function/Subroutine Documentation

◆ delete()

procedure delete ( class(gs_eq), intent(inout)  self)

Destory G-S object.

Parameters
[in,out]selfG-S object

◆ get_chi()

procedure get_chi ( class(gs_eq), intent(inout)  self)

Compute toroidal field potential.

Parameters
[in,out]selfG-S object

◆ init()

procedure init ( class(gs_eq), intent(inout)  self)

Build operators and allocate storage.

Parameters
[in,out]selfG-S object

◆ init_psi()

procedure init_psi ( class(gs_eq), intent(inout)  self,
integer(4), intent(out)  ierr,
real(8), dimension(2), intent(in), optional  r0,
real(8), intent(in), optional  a,
real(8), intent(in), optional  kappa,
real(8), intent(in), optional  delta,
real(8), dimension(:), intent(in), optional  curr_source 
)

Initialize \( \psi \) using simple definition.

\( \psi \) can be initialized in one of four ways:

  1. If no optional arguments are passed a Taylor state is computed and used
  2. If r0 < 0.0 is passed a uniform current across the entire plasma region is used
  3. If r0 and a, and optionally kappa and delta, are passed then a uniform current across a cross-section defined by those parameters is used
  4. If curr_source is passed then the source defined by those values is used

In all cases the solution is scaled to match the target Ip value

Parameters
[in,out]selfG-S object
[out]ierrError flag
[in]r0Center for cross-section initialization
[in]aMinor radius for cross-section initialization
[in]kappaElongation for cross-section initialization
[in]deltaTriangularity for cross-section initialization
[in]curr_sourceExplicit current source

◆ itor()

procedure itor ( class(gs_eq), intent(inout)  self,
class(oft_vector), intent(inout), optional  psi_vec 
)

Compute approximate toroidal current as \( \int \Delta^* \psi dA \).

Parameters
[in,out]selfG-S object
[in,out]psi_vecNeeds docs
Returns
Toroidal current

◆ lin_solve()

procedure lin_solve ( class(gs_eq), intent(inout)  self,
logical, intent(in)  adjust_r0,
integer(4), intent(out), optional  ierr 
)

Solve linearized version of G-S system (fixed RHS)

Parameters
[in,out]selfG-S object
[in]adjust_r0Needs docs
[out]ierrError flag

◆ load_limiters()

procedure load_limiters ( class(gs_eq), intent(inout)  self)

Load non-node limiter points.

Parameters
[in,out]selfG-S object

◆ setup()

procedure setup ( class(gs_eq), intent(inout)  self,
class(oft_ml_fem_type), intent(inout), target  ml_lag_2d 
)

Setup G-S object from FE representation.

Parameters
[in,out]selfG-S object

◆ solve()

procedure solve ( class(gs_eq), intent(inout)  self,
integer(4), intent(out), optional  ierr 
)

Solve nonlinear G-S system.

Parameters
[in,out]selfG-S object
[out]ierrError flag

◆ vac_solve()

procedure vac_solve ( class(gs_eq), intent(inout)  self,
class(oft_vector), intent(inout)  psi_sol,
class(bfem_interp), intent(inout), optional  rhs_source,
integer(4), intent(out), optional  ierr 
)

Solve vacuum field for given \( J_{\phi} \).

Parameters
[in,out]selfG-S object
[in,out]psi_solInput: BCs for \( \psi \), Output: solution
[in,out]rhs_sourceSpecified current source (optional)
[out]ierrError flag

Member Data Documentation

◆ alam

real(r8) alam = 1.d0

Scale factor for F*F' or F' profile (see mode)

◆ bc_bmat

real(r8), dimension(:,:), pointer bc_bmat => NULL()

Second part of free-boundary BC matrix.

◆ bc_lmat

real(r8), dimension(:,:), pointer bc_lmat => NULL()

First part of free-boundary BC matrix.

◆ bc_nrhs

integer(i4) bc_nrhs = 0

Number of terms in free-boundary BC.

◆ bc_rhs_list

integer(i4), dimension(:), pointer bc_rhs_list => NULL()

List of terms interacting with free-boundary BC.

◆ chi

class(oft_vector), pointer chi => NULL()

Toroidal field potential (if computed)

◆ coil_bounds

real(r8), dimension(:,:), pointer coil_bounds => NULL()

Coil current bounds.

◆ coil_currs

real(r8), dimension(:), pointer coil_currs => NULL()

Coil currents.

◆ coil_file

character(len=oft_path_slen) coil_file = 'none'

File containing coil definitions.

◆ coil_nturns

real(r8), dimension(:,:), pointer coil_nturns => NULL()

Number of turns for each coil in each region.

◆ coil_reg_mat

real(r8), dimension(:,:), pointer coil_reg_mat => NULL()

Coil regularization terms.

◆ coil_reg_targets

real(r8), dimension(:), pointer coil_reg_targets => NULL()

Targets for coil regularization terms.

◆ coil_regions

type(coil_region), dimension(:), pointer coil_regions => NULL()

Meshed coil regions.

◆ coil_vcont

real(r8), dimension(:), pointer coil_vcont => NULL()

Virtual VSC definition as weighted sum of other coils.

◆ coils_ext

type(axi_coil_set), dimension(:), pointer coils_ext => NULL()

External coil definitions.

◆ compute_chi

logical compute_chi = .FALSE.

Compute toroidal field potential?

◆ cond_regions

type(cond_region), dimension(:), pointer cond_regions => NULL()

Meshed conducting regions.

◆ cond_weights

real(r8), dimension(:), pointer cond_weights => NULL()

Needs docs.

◆ dels

class(oft_matrix), pointer dels => NULL()

\( \frac{1}{R} \Delta^* \) matrix

◆ dels_dt

class(oft_matrix), pointer dels_dt => NULL()

LHS matrix with time dependence.

◆ dels_full

class(oft_matrix), pointer dels_full => NULL()

\( \frac{1}{R} \Delta^* \) matrix with no BC

◆ dipole_a

real(r8) dipole_a = 0.d0

Anisotropy exponent for dipole pressure profiles.

◆ dipole_b0

class(flux_func), pointer dipole_b0 => NULL()

Dipole minimum B profile.

◆ dipole_mode

logical dipole_mode = .FALSE.

Needs docs.

◆ diverted

logical diverted = .FALSE.

Equilibrium is diverted?

◆ dt

real(r8) dt = -1.d0

Timestep size for time-dependent and quasi-static solves.

◆ dt_last

real(r8) dt_last = -1.d0

Timestep size for current LHS matrix.

◆ estore_target

real(r8) estore_target = -1.d0

Stored energy target.

◆ eta

class(flux_func), pointer eta => NULL()

Resistivity flux function.

◆ fe_flag

logical, dimension(:), pointer fe_flag => NULL()

FE boundary flag.

◆ fe_rep

class(oft_scalar_bfem), pointer fe_rep => NULL()

Lagrange FE representation.

◆ flux_ntargets

integer(i4) flux_ntargets = 0

Number of \( \psi \) target locations.

◆ flux_targets

real(r8), dimension(:,:), pointer flux_targets => NULL()

Flux target locations and values.

◆ free

logical free = .FALSE.

Computing free-boundary equilibrium?

◆ full_domain

logical full_domain = .FALSE.

Solve across full domain (for Solov'ev test cases)

◆ gs_zerob_bc

type(oft_gs_zerob), pointer gs_zerob_bc => NULL()

BC object for zeroing nodes outside plasma region.

◆ has_plasma

logical has_plasma = .TRUE.

Solve with plasma? (otherwise vacuum)

◆ i

class(flux_func), pointer i => NULL()

F*F' flux function.

◆ i_ni

class(flux_func), pointer i_ni => NULL()

Non-inductive F*F' flux function.

◆ ierr

integer(i4) ierr = 0

Error flag from most recent solve.

◆ ip_ratio_target

real(r8) ip_ratio_target = -1.d99

Ip ratio target.

◆ isoflux_grad_wt_lim

real(r8) isoflux_grad_wt_lim = -1.d0

Limit for isoflux inverse gradient weighting (negative to disable)

◆ isoflux_ntargets

integer(i4) isoflux_ntargets = 0

Number of isoflux target locations.

◆ isoflux_targets

real(r8), dimension(:,:), pointer isoflux_targets => NULL()

Isoflux target locations.

◆ itor_target

real(r8) itor_target = -1.d0

Toroidal current target.

◆ lcoils

real(r8), dimension(:,:), pointer lcoils => NULL()

Coil mutual inductance matrix.

◆ lim_area

real(r8) lim_area = -1.d0

Area inside the limiter.

◆ lim_con

integer(i4), dimension(:), pointer lim_con => NULL()

Limiter contour list (contains all limiters)

◆ lim_nloops

integer(i4) lim_nloops = 0

Number of limiter loops.

◆ lim_point

real(r8), dimension(2) lim_point = [-1.d0,1.d99]

Location of limiting point or active X-point.

◆ lim_ptr

integer(i4), dimension(:), pointer lim_ptr => NULL()

Pointer to start of each.

◆ lim_zmax

real(r8) lim_zmax = 1.d99

Vertical position cutoff for limiter points.

◆ limiter_file

character(len=oft_path_slen) limiter_file = 'none'

File non-node limiter points.

◆ limiter_nds

integer(i4), dimension(:), pointer limiter_nds => NULL()

List of limiter nodes.

◆ limiter_pts

real(r8), dimension(:,:), pointer limiter_pts => NULL()

Location of non-node limiter points.

◆ lu_solver

type(oft_lusolver) lu_solver

\( \frac{1}{R} \Delta^* \) inverse solver

◆ lu_solver_dt

type(oft_lusolver) lu_solver_dt

LHS inverse solver with time dependence.

◆ maxits

integer(i4) maxits = 30

Maximum number of iterations for nonlinear solve.

◆ mesh

class(oft_bmesh), pointer mesh => NULL()

Mesh.

◆ ml_fe_rep

type(oft_ml_fem_type), pointer ml_fe_rep => NULL()

Multi-level Lagrange FE representation (only top level used)

◆ mode

integer(i4) mode = 0

RHS source mode (0 -> F*F', 1 -> F')

◆ mop

class(oft_matrix), pointer mop => NULL()

Lagrange FE mass matrix.

◆ mrop

class(oft_matrix), pointer mrop => NULL()

1/R-scaled Lagrange FE mass matrix

◆ ncoil_regs

integer(i4) ncoil_regs = 0

Number of meshed coil regions in device.

◆ ncoils

integer(i4) ncoils = 0

Number of coils in device.

◆ ncoils_ext

integer(i4) ncoils_ext = 0

Number of external (non-meshed) coils in device.

◆ ncond_eigs

integer(i4) ncond_eigs = 0

Number of total fixed-shape current modes for conducting regions.

◆ ncond_regs

integer(i4) ncond_regs = 0

Number of conducting regions.

◆ ninner_limiter_nds

integer(i4) ninner_limiter_nds = 0

Needs docs.

◆ nl_tol

real(r8) nl_tol = 1.d-8

Tolerance for nonlinear solve.

◆ nlim_con

integer(i4) nlim_con = 0

Number of node points in limiter contour list.

◆ nlimiter_nds

integer(i4) nlimiter_nds = 0

Number of grid nodes used as limiter points.

◆ nlimiter_pts

integer(i4) nlimiter_pts = 0

Number of non-node limiter points.

◆ nr0_ramp

integer(i4) nr0_ramp = 6

Number of iterations for R0 ramp if R0 target is used.

◆ nregularize

integer(i4) nregularize = 0

Number of regularization terms.

◆ nx_points

integer(i4) nx_points = 0

Number of X-points in current solution.

◆ o_point

real(r8), dimension(2) o_point = [-1.d0,1.d99]

Location of magnetic axis.

◆ olbp

integer(i4), dimension(:), pointer olbp => NULL()

Oriented list of boundary points.

◆ p

class(flux_func), pointer p => NULL()

Pressure flux function.

◆ pax_target

real(r8) pax_target = -1.d0

On-axis pressure target.

◆ plasma_bounds

real(r8), dimension(2) plasma_bounds = [-1.d99,1.d99]

Boundaing \( \psi \) values on [LCFS, axis].

◆ plot_final

logical plot_final = .TRUE.

Save solver result for plotting.

◆ plot_step

logical plot_step = .TRUE.

Save solver steps for plotting.

◆ pnorm

real(r8) pnorm = 1.d0

Scale factor for P' profile.

◆ psi

class(oft_vector), pointer psi => NULL()

Current \( \psi \) solution.

◆ psi_coil

class(oft_vector_ptr), dimension(:), pointer psi_coil => NULL()

\( \psi \) for each coil

◆ psi_dt

class(oft_vector), pointer psi_dt => NULL()

Time-dependent contribution to \( \psi \) from eddy currents.

◆ psimax

real(r8) psimax = 1.d0

Maximum \( \psi \) value for homogeneous equilibria.

◆ psiscale

real(r8) psiscale = 1.d0

Solution scale factor for homogeneous equilibria.

◆ r0_target

real(r8) r0_target = -1.d0

Magnetic axis radial target.

◆ region_info

type(gs_region_info) region_info

Region information for non-continuous conductors.

◆ rlimiter_nds

real(r8), dimension(:,:), pointer rlimiter_nds => NULL()

Location of limiter nodes.

◆ rmax

real(r8) rmax = 0.d0

Maximum radial coordinate in model.

◆ rmin

real(r8) rmin = 0.d0

Minimum radial coordinate in model.

◆ saddle_cmask

logical, dimension(:), pointer saddle_cmask => NULL()

Cell mask for saddle search.

◆ saddle_ntargets

integer(i4) saddle_ntargets = 0

Number of saddle target locations.

◆ saddle_pmask

logical, dimension(:), pointer saddle_pmask => NULL()

Point mask for saddle search.

◆ saddle_rmask

logical, dimension(:), pointer saddle_rmask => NULL()

Region mask for saddle search.

◆ saddle_targets

real(r8), dimension(:,:), pointer saddle_targets => NULL()

Saddle target locations.

◆ save_visit

logical save_visit = .TRUE.

Save information for plotting?

◆ spatial_bounds

real(r8), dimension(2,2) spatial_bounds = RESHAPE([-1.d99,1.d99,-1.d99,1.d99], [2,2])

Maximum R,Z extents of plasma.

◆ timing

real(r8), dimension(4) timing = 0.d0

Timing for each phase of solve.

◆ urf

real(r8) urf = .2d0

Under-relaxation factor for Picard iteration.

◆ v0_target

real(r8) v0_target = -1.d99

Magnetic axis vertical target.

◆ vcontrol_val

real(r8) vcontrol_val = 0.d0

Amplitude of virtual VSC "current".

◆ x_points

real(r8), dimension(2,max_xpoints) x_points = 0.d0

Location of tracked X-points.

◆ x_vecs

real(r8), dimension(2,max_xpoints) x_vecs = 0.d0

Vectors point from X-points to O-point.

◆ xdmf

type(xdmf_plot_file) xdmf

XDMF plotting object.

◆ zerob_bc

type(oft_blag_zerob), pointer zerob_bc => NULL()

BC object for zeroing boundary nodes.

◆ zerogrnd_bc

type(oft_blag_zerogrnd), pointer zerogrnd_bc => NULL()

BC object for zeroing grounding node(s)


The documentation for this type was generated from the following file: