The Open FUSION Toolkit 1.0.0-beta5
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
Data Types | Functions/Subroutines | Variables
taylor Module Reference

Detailed Description

Subroutines and fields for Taylor state calculations using mimetic operators.

Author
Chris Hansen
Date
June 2010

Data Types

type  oft_taylor_rinterp
 Interpolate a Taylor state field. More...
 

Functions/Subroutines

subroutine taylor_hmodes (nm)
 Compute 'taylor_nm' Force-Free eignemodes.
 
subroutine taylor_injector_single (lambda, fluxes, gffa)
 Compute force-free plasma response to external fields generated by taylor_vacuum.
 
subroutine taylor_injectors (lambda)
 Compute force-free plasma response to external fields generated by taylor_injectors.
 
subroutine taylor_rinterp (self, cell, f, gop, val)
 Reconstruct a composite Taylor state field.
 
subroutine taylor_rinterp_setup (self)
 Setup interpolator for composite Taylor state fields.
 
subroutine taylor_vacuum (nh, hcpc, hcpv, htags, energy)
 Generate vacuum fields for a geometry with cut planes.
 

Variables

type(oft_vector_ptr), dimension(:,:), pointer taylor_gffa => NULL()
 Inhomogeneous force-free fields.
 
real(r8), dimension(:,:), pointer taylor_hcpc => NULL()
 Center points of jump planes.
 
real(r8), dimension(:,:), pointer taylor_hcpv => NULL()
 Normal vectors for jump planes.
 
type(oft_vector_ptr), dimension(:,:), pointer taylor_hcur => NULL()
 Inhomogeneous source fields.
 
type(oft_vector_ptr), dimension(:,:), pointer taylor_hffa => NULL()
 Homogeneous force-free fields.
 
real(r8), dimension(:,:), pointer taylor_hlam => NULL()
 Homogeneous force-free lambdas.
 
character(len=taylor_tag_size), dimension(:), pointer taylor_htag => NULL()
 Injector names.
 
real(r8), dimension(:,:), pointer taylor_htor => NULL()
 Homogeneous force-free toroidal fluxes.
 
type(oft_vector_ptr), dimension(:,:), pointer taylor_hvac => NULL()
 Vacuum magnetic fields.
 
real(r8taylor_jtol = 1.d-6
 Tolerance for identifying edges on jump plane.
 
integer(i4taylor_minlev =-1
 Lowest FE level for MG solvers.
 
integer(i4taylor_nh =2
 Number of jump planes in current geometry.
 
integer(i4taylor_nm =0
 Number of force-free fields to be computed.
 
logical taylor_rst =.TRUE.
 Save solutions to data files.
 
integer(i4), parameter taylor_tag_size = 4
 Size of jump planes character tags.
 

Function/Subroutine Documentation

◆ taylor_hmodes()

subroutine taylor_hmodes ( integer(i4), intent(in), optional  nm)

Compute 'taylor_nm' Force-Free eignemodes.

Note
When taylor_rst=.TRUE. one restart files will be generated for each computed mode on each MG level hffa_*.rst.
Parameters
[in]nmNumber of modes to compute (optional: 1)

◆ taylor_injector_single()

subroutine taylor_injector_single ( real(r8), intent(in)  lambda,
real(r8), dimension(:), intent(in)  fluxes,
class(oft_vector), intent(inout), pointer  gffa 
)

Compute force-free plasma response to external fields generated by taylor_vacuum.

Parameters
[in]lambdaDesired lambda for force-free state
[in]fluxesFlux for each injector
[in]gffaPlasma component (non-vacuum) of injector field

◆ taylor_injectors()

subroutine taylor_injectors ( real(r8), intent(in)  lambda)

Compute force-free plasma response to external fields generated by taylor_injectors.

Note
When taylor_rst=.TRUE. one restart files will be generated for each jump plane gffa_*.rst
Parameters
[in]lambdaDesired lambda for force-free state

◆ taylor_rinterp()

subroutine taylor_rinterp ( class(oft_taylor_rinterp), intent(inout)  self,
integer(i4), intent(in)  cell,
real(r8), dimension(:), intent(in)  f,
real(r8), dimension(3,4), intent(in)  gop,
real(r8), dimension(:), intent(out)  val 
)

Reconstruct a composite Taylor state field.

Parameters
[in]cellCell for interpolation
[in]fPossition in cell in logical coord [4]
[in]gopLogical gradient vectors at f [3,4]
[out]valReconstructed field at f [3]

◆ taylor_rinterp_setup()

subroutine taylor_rinterp_setup ( class(oft_taylor_rinterp), intent(inout)  self)

Setup interpolator for composite Taylor state fields.

Fetches local representation used for interpolation from vector object

Note
Should only be used via class oft_taylor_rinterp or children

◆ taylor_vacuum()

subroutine taylor_vacuum ( integer(i4), intent(in)  nh,
real(r8), dimension(3,nh), intent(in)  hcpc,
real(r8), dimension(3,nh), intent(in)  hcpv,
character(len=taylor_tag_size), dimension(nh), intent(in), optional  htags,
real(r8), dimension(nh), intent(out), optional  energy 
)

Generate vacuum fields for a geometry with cut planes.

Note
When taylor_rst=.TRUE. two restart files will be generated for each jump plane hvac_*.rst and hcur_*.rst
Parameters
[in]nhNumber of jump planes
[in]hcpcJump plane center possitions [3,nh]
[in]hcpvJump plane normal vectors [3,nh]
[in]htagsNames for each jump plane [LEN=taylor_tag_size,nh] (optional)

Variable Documentation

◆ taylor_gffa

type(oft_vector_ptr), dimension(:,:), pointer taylor_gffa => NULL()

Inhomogeneous force-free fields.

◆ taylor_hcpc

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

Center points of jump planes.

◆ taylor_hcpv

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

Normal vectors for jump planes.

◆ taylor_hcur

type(oft_vector_ptr), dimension(:,:), pointer taylor_hcur => NULL()

Inhomogeneous source fields.

◆ taylor_hffa

type(oft_vector_ptr), dimension(:,:), pointer taylor_hffa => NULL()

Homogeneous force-free fields.

◆ taylor_hlam

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

Homogeneous force-free lambdas.

◆ taylor_htag

character(len=taylor_tag_size), dimension(:), pointer taylor_htag => NULL()

Injector names.

◆ taylor_htor

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

Homogeneous force-free toroidal fluxes.

◆ taylor_hvac

type(oft_vector_ptr), dimension(:,:), pointer taylor_hvac => NULL()

Vacuum magnetic fields.

◆ taylor_jtol

real(r8) taylor_jtol = 1.d-6

Tolerance for identifying edges on jump plane.

◆ taylor_minlev

integer(i4) taylor_minlev =-1

Lowest FE level for MG solvers.

◆ taylor_nh

integer(i4) taylor_nh =2

Number of jump planes in current geometry.

◆ taylor_nm

integer(i4) taylor_nm =0

Number of force-free fields to be computed.

◆ taylor_rst

logical taylor_rst =.TRUE.

Save solutions to data files.

◆ taylor_tag_size

integer(i4), parameter taylor_tag_size = 4

Size of jump planes character tags.