FIXME : Add documentation
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private, | parameter | :: | ion_species | = | 1 | |
integer, | private, | parameter | :: | electron_species | = | 2 | |
integer, | public, | parameter | :: | tracer_species | = | 3 | |
integer, | private, | parameter | :: | hybrid_electron_species | = | 4 | |
integer, | private, | parameter, dimension(*) | :: | electron_like_species | = | [electron_species, hybrid_electron_species] | |
integer, | public, | parameter | :: | f0_maxwellian | = | 1 |
Regular Maxwellian species f0 determined from table in external input file Analytic Gaffey slowing-down distribution |
integer, | private, | parameter | :: | f0_tabulated | = | 2 |
Regular Maxwellian species f0 determined from table in external input file Analytic Gaffey slowing-down distribution |
integer, | public, | parameter | :: | f0_sdanalytic | = | 3 |
Regular Maxwellian species f0 determined from table in external input file Analytic Gaffey slowing-down distribution |
real, | private | :: | me |
Various quantities needed in the calculation of the slowing-down distribution in case electrons are adiabatic |
|||
real, | private | :: | ZI_fac |
Various quantities needed in the calculation of the slowing-down distribution in case electrons are adiabatic |
|||
integer, | private | :: | is_global | = | -1 |
Defines a working species so that eval_f0 only needs to take one argument (needed for genquad) |
|
integer, | public | :: | nspec | ||||
type(specie), | public, | dimension (:), allocatable | :: | spec | |||
real, | public, | dimension (:,:), allocatable | :: | nonmaxw_corr | |||
real, | public, | dimension (:,:), allocatable | :: | f0_values | |||
real, | public, | dimension (:,:), allocatable | :: | dlnf0drho | |||
logical, | private | :: | initialized | = | .false. | ||
type(species_config_type), | private | :: | species_config | ||||
type(species_element_config_type), | private, | dimension(:), allocatable | :: | species_element_config |
FIXME : Add documentation
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real, | public | :: | z |
Main physical properties of the species, see namelist documentation. |
|||
real, | public | :: | mass |
Main physical properties of the species, see namelist documentation. |
|||
real, | public | :: | dens |
Main physical properties of the species, see namelist documentation. |
|||
real, | public | :: | temp |
Main physical properties of the species, see namelist documentation. |
|||
real, | public | :: | tprim |
Main physical properties of the species, see namelist documentation. |
|||
real, | public | :: | fprim |
Main physical properties of the species, see namelist documentation. |
|||
real, | public | :: | vnewk |
Main physical properties of the species, see namelist documentation. |
|||
real, | public | :: | stm |
Common combinations of species properties |
|||
real, | public | :: | zstm |
Common combinations of species properties |
|||
real, | public | :: | tz |
Common combinations of species properties |
|||
real, | public | :: | smz |
Common combinations of species properties |
|||
real, | public | :: | zt |
Common combinations of species properties |
|||
real, | public | :: | uprim |
Provides offsets to parallel flow shear drive term |
|||
real, | public | :: | uprim2 |
Provides offsets to parallel flow shear drive term |
|||
real, | public | :: | dens0 |
Parameters associated with a few initialisation options, including Orszag-Tang. |
|||
real, | public | :: | u0 |
Parameters associated with a few initialisation options, including Orszag-Tang. |
|||
real, | public | :: | tpar0 |
Parameters associated with a few initialisation options, including Orszag-Tang. |
|||
real, | public | :: | tperp0 |
Parameters associated with a few initialisation options, including Orszag-Tang. |
|||
real, | public | :: | nu_h |
nu_h controls a hyperviscous term embedded in the collision operator |
|||
real, | public | :: | bess_fac |
Artificial factor multiplying the Bessel function argument |
|||
real, | public | :: | vcrit |
Parameters associated with analytic slowing-down distribution |
|||
real, | public | :: | vcprim |
Parameters associated with analytic slowing-down distribution |
|||
integer, | public | :: | type |
Flags to identify the species type and the background distribution treatment |
|||
integer, | public | :: | f0type |
Flags to identify the species type and the background distribution treatment |
Used to represent the input configuration of species
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 | :: | me | = | -1.0 |
Specifies the electron mass used in calculating the slowing down parameters in simulations without kinetic electrons. |
|
integer, | public | :: | nspec | = | 2 |
Number of kinetic species to evolve. |
|
real, | public | :: | zi_fac | = | -1.0 |
Specify the ion charge factor used in calculating the slowing down parameters. If not specified that will attempt to calculate from the kinetic ion species. |
Used to represent the input configuration of species
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 | :: | bess_fac | = | 1.0 |
Multiplies the argument of the Bessel function for this species. Useful for exploring the effect of the Bessel functions. |
|
real, | public | :: | dens | = | 1.0 |
Set the normalised density for this species |
|
real, | public | :: | dens0 | = | 1.0 |
Parameter used for a few specific initial condition types. |
|
character(len=20), | public | :: | f0type | = | "default" |
Select which type of background distribution should be assumed for this species. Must be one of: |
|
real, | public | :: | fprim | = | 2.2 |
Normalised inverse density gradient: (Note here is the normalised radius . |
|
real, | public | :: | mass | = | 1.0 |
Normalised mass of this species |
|
real, | public | :: | nu_h | = | 0.0 |
Set the species hyper collision frequency used in the pitch
angle scattering collision operator if
[[collision_knobs::hypermult]] is |
|
real, | public | :: | temp | = | 1.0 |
Set the normalised species temperature |
|
real, | public | :: | tpar0 | = | 0. |
Parameter used for a few specific initial condition types. |
|
real, | public | :: | tperp0 | = | 0. |
Parameter used for a few specific initial condition types. |
|
real, | public | :: | tprim | = | 6.9 |
Normalised inverse temperature gradient: (Note here is the normalised radius . |
|
character(len=20), | public | :: | type | = | "default" |
Sets the characterisation of the species. Should be one of |
|
real, | public | :: | u0 | = | 1.0 |
Parameter used for a few specific initial condition types. |
|
real, | public | :: | uprim | = | 0.0 |
Controls an energy independent part of a source term. |
|
real, | public | :: | uprim2 | = | 0.0 |
Controls an energy dependent part of a source term. |
|
real, | public | :: | vcprim | = | -999.9 |
Part of the |
|
real, | public | :: | vcrit | = | -1.0 |
Part of the |
|
real, | public | :: | vnewk | = | 0.0 |
Sets the normalised species-species collisionality
frequency. For species s, |
|
real, | public | :: | z | = | 1.0 |
Normalised species charge |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | v |
Determine if any of the known species are electron like
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(specie), | intent(in), | dimension (:) | :: | spec |
Determine if any of the known species are hybrid electrons
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(specie), | intent(in), | dimension (:) | :: | spec |
Determine if any of the known species are ion like
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(specie), | intent(in), | dimension (:) | :: | spec |
Determine if the passed species instance is considered electron like. In other words if spec%type matches any of the recognised electron like types (electron, hybrid_electron)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(specie), | intent(in) | :: | spec |
Determine if the passed species instance corresponds to hybrid electrons
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(specie), | intent(in) | :: | spec |
Determine if the passed species instance corresponds to ions
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(specie), | intent(in) | :: | spec |
Determine if any of the known species are non-Maxwellian
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(specie), | intent(in), | dimension (:) | :: | spec |
Gets the default name for this namelist
Gets the default requires index for this namelist
Gets the default name for this namelist
Gets the default requires index for this namelist
Get the array of module level config instances. If it isn't allocated, then return a zero-length array
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | report_unit | |||
real, | intent(in) | :: | beta | |||
real, | intent(in) | :: | tite | |||
real, | intent(out) | :: | alne | |||
real, | intent(out) | :: | dbetadrho_spec |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(species_config_type), | intent(in), | optional | :: | species_config_in | ||
type(species_element_config_type), | intent(in), | optional, | dimension(:), allocatable | :: | species_elements_config_in |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(species_config_type), | intent(in), | optional | :: | species_config_in | ||
type(species_element_config_type), | intent(in), | optional, | dimension(:), allocatable | :: | species_elements_config_in |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | alpha_index | |||
real, | intent(out) | :: | vc | |||
real, | intent(out) | :: | vcprim |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in), | dimension (:,:) | :: | egrid |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | is |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | is | |||
real, | intent(in) | :: | v | |||
real, | intent(out) | :: | f0 | |||
real, | intent(out) | :: | df0dE_out | |||
real, | intent(out) | :: | f0prim |
This subroutine calculates f0 on the grid from an external input file. The grid on the input file can differ from that of gs2. A cubic spline is used to interpolate between the two. The user can either specify df0/dE or it can be estimated internally. The radial derivative of f0 as a function of energy should also be given.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | is | |||
real, | intent(in), | dimension(:,:) | :: | egrid |
FIXME : Add documentation
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(profiles_overrides_type), | intent(in) | :: | prof_ov |
Reads in the species_knobs namelist and populates the member variables
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(species_config_type), | intent(inout) | :: | self |
Writes out a namelist representing the current state of the config object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(species_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(species_config_type), | intent(inout) | :: | self |
Broadcasts all config parameters so object is populated identically on all processors
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(species_config_type), | intent(inout) | :: | self |
Set the module level config instance
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(species_config_type), | intent(in), | optional | :: | species_config_in |
Reads in the species_parameters namelist and populates the member variables
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(species_element_config_type), | intent(inout) | :: | self |
Writes out a namelist representing the current state of the config object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(species_element_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(species_element_config_type), | intent(inout) | :: | self |
Broadcasts all config parameters so object is populated identically on all processors
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(species_element_config_type), | intent(inout) | :: | self |
Set the module level config instances
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(species_element_config_type), | intent(in), | optional, | dimension(:) | :: | species_element_config_in |