FIXME : Add documentation
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | npadd | ||||
real, | private | :: | alknob | ||||
real, | private | :: | epsknob | ||||
real, | private | :: | bpknob | ||||
real, | private | :: | extrknob | ||||
real, | private | :: | regrid_tension | ||||
real, | private | :: | tension | ||||
real, | private | :: | thetamax | ||||
real, | private | :: | deltaw | ||||
real, | private | :: | widthw | ||||
logical, | private | :: | skip_gridgen | ||||
logical, | private | :: | initialized | = | .false. | ||
type(theta_grid_gridgen_config_type), | private | :: | theta_grid_gridgen_config |
Used to represent the input configuration of theta_grid_gridgen
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | public | :: | exist | = | .false. |
Does the related namelist exist in the target input file? |
|
integer, | public | :: | index | = | 0 |
Used to hold the specific index of numbered namelists |
|
logical, | public | :: | skip_read | = | .false. |
Do we want to skip the read step in init? |
|
logical, | public | :: | skip_broadcast | = | .false. |
Do we want to skip the broadcast step in init? |
|
logical, | public | :: | skip_smart_defaults | = | .false. |
Do we want to skip the smaart defaults in init? |
|
real, | public | :: | alknob | = | 0.0 |
Relative weighting of pitch-angle metric to metric |
|
real, | public | :: | bpknob | = | 1.e-8 |
Consider when the right grid point is equal to the target bmag. |
|
real, | public | :: | deltaw | = | 0.0 |
Parameter for weighted resolution in theta. Each theta grid point contributes to the resolution metric according to the function which has peaks at theta = +/- thetamax and deltaw controls the relative weighting of the theta dependent contribution. |
|
real, | public | :: | epsknob | = | 1e-5 |
Maximum difference between neighbouring points for determining if a point is an extremum. |
|
real, | public | :: | extrknob | = | 0.0 |
Used to set a "bonus" contribtion to resolution at B extrema with an even number of theta grid points. Those with an odd number of points and the assumed extrema at -pi have a metric of 1e20. Here extrknob can be used to bias the algorithm towards keeping extrema with an even number of points. |
|
integer, | public | :: | npadd | = | 2 |
Number of points between original grid points to oversample by |
|
real, | public | :: | regrid_tension | = | -1.0 |
Tension to use in interpolating splines for regrid of geometrical quantities Defaults to tension if not set. |
|
logical, | public | :: | skip_gridgen | = | .false. |
If true then skip gridgen call and instead just use the existing grid. |
|
real, | public | :: | tension | = | 1.0 |
Tension for spline |
|
real, | public | :: | thetamax | = | 0.0 |
Parameter for weighted resolution in theta. Each theta grid point contributes to the resolution metric according to the function which has peaks at theta = +/- thetamax. |
|
real, | public | :: | widthw | = | 1.0 |
Parameter for weighted resolution in theta. Each theta grid point contributes to the resolution metric according to the function which has peaks at theta = +/- thetamax and widthw controls the scale length of the peaks. |
Gets the default name for this namelist
Gets the default requires index for this namelist
Get the module level config instance
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(theta_grid_gridgen_config_type), | intent(in), | optional | :: | theta_grid_gridgen_config_in |
FIXME : Add documentation
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(theta_grid_gridgen_config_type), | intent(in), | optional | :: | theta_grid_gridgen_config_in |
FIXME : Add documentation DD>NOTE: Regrid assumes nnew<nold but doesn't check it. Do we need to?
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nperiod | |||
integer, | intent(inout) | :: | ntheta | |||
integer, | intent(inout) | :: | ntgrid | |||
integer, | intent(inout) | :: | nbset | |||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | theta | ||
real, | intent(inout), | dimension (nbset) | :: | bset | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | bmag | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | gradpar | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | gbdrift | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | gbdrift0 | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | cvdrift | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | cvdrift0 | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | cdrift | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | cdrift0 | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | gds2 | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | gds21 | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | gds22 | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | gds23 | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | gds24 | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | gds24_noq | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | grho | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | Rplot | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | Zplot | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | Rprime | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | Zprime | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | aplot | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | aprime | ||
real, | intent(inout), | dimension (-ntgrid:ntgrid) | :: | Bpol |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nold | |||
real, | intent(in), | dimension (-nold:nold) | :: | x | ||
real, | intent(inout), | dimension (-nold:nold) | :: | y | ||
integer, | intent(in) | :: | nnew | |||
real, | intent(in), | dimension (-nnew:nnew) | :: | xnew |
Reads in the theta_grid_gridgen_knobs namelist and populates the member variables
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(theta_grid_gridgen_config_type), | intent(inout) | :: | self |
Writes out a namelist representing the current state of the config object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(theta_grid_gridgen_config_type), | intent(in) | :: | self | |||
integer, | intent(in), | optional | :: | unit |
Resets the config object to the initial empty state
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(theta_grid_gridgen_config_type), | intent(inout) | :: | self |
Broadcasts all config parameters so object is populated identically on all processors
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(theta_grid_gridgen_config_type), | intent(inout) | :: | self |
Set the module level config instance
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(theta_grid_gridgen_config_type), | intent(in), | optional | :: | theta_grid_gridgen_config_in |