|
The Open FUSION Toolkit 1.0.0-beta6
Modeling tools for plasma and fusion research and engineering
|
Subroutines and fields for Taylor state calculations using mimetic operators.
Data Types | |
| type | oft_taylor_hmodes |
| Force-free, uniform \( \lambda \) eigenmode object. More... | |
| type | oft_taylor_ifield |
| Force-free, uniform \( \lambda \) field object (inhomogeneous BCs) More... | |
| type | oft_taylor_rinterp |
| Interpolate a Taylor state field. More... | |
Functions/Subroutines | |
| subroutine | ff_delete (self, storage_only) |
| Setup eigenmodes object. | |
| subroutine | ff_setup (self, nh, hcpc, hcpv, htags, ml_hcurl, ml_h1, ml_hcurl_grad, ml_h1grad, ml_lagrange, minlev) |
| Setup eigenmodes object. | |
| subroutine | hmodes_delete (self, storage_only) |
| Setup eigenmodes object. | |
| subroutine | hmodes_setup (self, ml_hcurl, ml_lagrange, minlev, htor_axis) |
| Setup eigenmodes object. | |
| subroutine | taylor_hmodes (self, nm, rst_filename) |
| Compute 'taylor_nm' Force-Free eignemodes. | |
| subroutine | taylor_injector_single (self, hmodes, lambda, fluxes, gffa) |
| Compute force-free plasma response to external fields generated by taylor_vacuum. | |
| subroutine | taylor_injectors (self, hmodes, lambda, rst_filename) |
| 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_setup1 (self, hcurl_grad_rep) |
| Setup interpolator for composite Taylor state fields. | |
| subroutine | taylor_rinterp_setup2 (self, hcurl_rep, hgrad_rep) |
| Setup interpolator for composite Taylor state fields. | |
| subroutine | taylor_vac_curr (self, hmodes, rst_filename) |
| Generate vector potential whose corresponding current matches the vacuum fields stored in taylor::taylor_hvac. | |
| subroutine | taylor_vacuum (self, energy, hmodes, rst_filename) |
| Generate vacuum fields for specified handle (cut planes) | |
Variables | |
| integer(i4), parameter | taylor_tag_size = 4 |
| Size of jump planes character tags. | |
| subroutine ff_delete | ( | class(oft_taylor_ifield), intent(inout) | self, |
| logical, intent(in), optional | storage_only | ||
| ) |
Setup eigenmodes object.
| [in,out] | self | Force-free eigenmode object |
| [in] | storage_only | Only reset storage, but do not clear references |
| subroutine ff_setup | ( | class(oft_taylor_ifield), intent(inout) | self, |
| 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, | ||
| type(oft_ml_fem_type), intent(in), optional, target | ml_hcurl, | ||
| type(oft_ml_fem_type), intent(in), optional, target | ml_h1, | ||
| type(oft_ml_fem_comp_type), intent(in), optional, target | ml_hcurl_grad, | ||
| type(oft_ml_fem_type), intent(in), optional, target | ml_h1grad, | ||
| type(oft_ml_fem_type), intent(in), optional, target | ml_lagrange, | ||
| integer(i4), intent(in), optional | minlev | ||
| ) |
Setup eigenmodes object.
| [in,out] | self | Force-free field object |
| [in] | nh | Number of jump planes |
| [in] | hcpc | Jump plane center possitions [3,nh] |
| [in] | hcpv | Jump plane normal vectors [3,nh] |
| [in] | htags | Names for each jump plane [LEN=taylor_tag_size,nh] (optional) |
| [in] | ml_hcurl | Multi-level H(Curl) FE representation |
| [in] | ml_h1 | Multi-level H^1 FE representation |
| [in] | ml_hcurl_grad | Multi-level H(Curl) + grad(H^1) FE representation |
| [in] | ml_h1grad | Multi-level grad(H^1) FE representation |
| [in] | ml_lagrange | Multi-level Lagrange FE representation |
| subroutine hmodes_delete | ( | class(oft_taylor_hmodes), intent(inout) | self, |
| logical, intent(in), optional | storage_only | ||
| ) |
Setup eigenmodes object.
| [in,out] | self | Force-free eigenmode object |
| [in] | storage_only | Only reset storage, but do not clear references |
| subroutine hmodes_setup | ( | class(oft_taylor_hmodes), intent(inout) | self, |
| type(oft_ml_fem_type), intent(in), optional, target | ml_hcurl, | ||
| type(oft_ml_fem_type), intent(in), optional, target | ml_lagrange, | ||
| integer(i4), intent(in), optional | minlev, | ||
| integer(i4), intent(in), optional | htor_axis | ||
| ) |
Setup eigenmodes object.
| [in,out] | self | Force-free eigenmode object |
| [in] | ml_hcurl | Multi-level H(Curl) FE representation |
| [in] | ml_lagrange | Multi-level Lagrange FE representation |
| subroutine taylor_hmodes | ( | type(oft_taylor_hmodes), intent(inout) | self, |
| integer(i4), intent(in), optional | nm, | ||
| character(len=*), intent(in), optional | rst_filename | ||
| ) |
Compute 'taylor_nm' Force-Free eignemodes.
| [in,out] | self | Force-free eigenmode object |
| [in] | nm | Number of modes to compute (optional: 1) |
| [in] | rst_filename | File name to store/load restart information |
| subroutine taylor_injector_single | ( | type(oft_taylor_ifield), intent(inout) | self, |
| type(oft_taylor_hmodes), intent(inout) | hmodes, | ||
| 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.
| [in,out] | self | Force-free field object |
| [in,out] | hmodes | Force-free eigenmode object |
| [in] | lambda | Desired lambda for force-free state |
| [in] | fluxes | Flux for each handle |
| [in,out] | gffa | Plasma component (non-vacuum) of handle field |
| subroutine taylor_injectors | ( | type(oft_taylor_ifield), intent(inout) | self, |
| type(oft_taylor_hmodes), intent(inout) | hmodes, | ||
| real(r8), intent(in) | lambda, | ||
| character(len=*), intent(in), optional | rst_filename | ||
| ) |
Compute force-free plasma response to external fields generated by taylor_injectors.
| [in,out] | self | Force-free field object |
| [in,out] | hmodes | Force-free eigenmode object |
| [in] | lambda | Desired lambda for force-free state |
| [in] | rst_filename | File name to store/load restart information (optional) |
| 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.
| [in] | cell | Cell for interpolation |
| [in] | f | Position in cell in logical coord [4] |
| [in] | gop | Logical gradient vectors at f [3,4] |
| [out] | val | Reconstructed field at f [3] |
| subroutine taylor_rinterp_setup1 | ( | class(oft_taylor_rinterp), intent(inout) | self, |
| class(oft_fem_comp_type), intent(inout), target | hcurl_grad_rep | ||
| ) |
Setup interpolator for composite Taylor state fields.
Fetches local representation used for interpolation from vector object
| subroutine taylor_rinterp_setup2 | ( | class(oft_taylor_rinterp), intent(inout) | self, |
| class(oft_afem_type), intent(inout), target | hcurl_rep, | ||
| class(oft_afem_type), intent(inout), target | hgrad_rep | ||
| ) |
Setup interpolator for composite Taylor state fields.
Fetches local representation used for interpolation from vector object
| subroutine taylor_vac_curr | ( | type(oft_taylor_ifield), intent(inout) | self, |
| type(oft_taylor_hmodes), intent(inout) | hmodes, | ||
| character(len=*), intent(in), optional | rst_filename | ||
| ) |
Generate vector potential whose corresponding current matches the vacuum fields stored in taylor::taylor_hvac.
| [in,out] | self | Force-free field object |
| [in,out] | hmodes | Force-free eigenmode object |
| [in] | rst_filename | File name to store/load restart information (optional) |
| subroutine taylor_vacuum | ( | type(oft_taylor_ifield), intent(inout) | self, |
| real(r8), dimension(:), intent(out), optional | energy, | ||
| type(oft_taylor_hmodes), intent(inout), optional | hmodes, | ||
| character(len=*), intent(in), optional | rst_filename | ||
| ) |
Generate vacuum fields for specified handle (cut planes)
| [in,out] | self | Force-free field object |
| [out] | energy | Vacuum energy for each handle (optional) |
| [in,out] | hmodes | Force-free eigenmode object (optional) |
| [in] | rst_filename | File name to store/load restart information (optional) |
| integer(i4), parameter taylor_tag_size = 4 |
Size of jump planes character tags.