FIXME : Add documentation
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real, | private, | parameter | :: | default_value | = | -999.0 | |
type(norms_type), | public | :: | norms | ||||
logical, | private | :: | initialized | = | .false. | ||
type(normalisations_config_type), | private | :: | normalisations_config |
Define a type to hold the set of normalisations, we could imagine extending this in the future to provide a normalise/denormalise routine which can be used to automatically convert quantities
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real, | private | :: | def_val | = | default_value | ||
logical, | private | :: | some_norms_set | = | .false. | ||
logical, | private | :: | all_norms_set | = | .false. | ||
logical, | private | :: | initialised | = | .false. | ||
integer, | private | :: | nnorm | ||||
character(len=6), | public, | dimension(:), allocatable | :: | names | |||
real, | private | :: | mref |
Reference mass in atomic mass units |
|||
real, | private | :: | zref |
Reference charge in units of the elementary charge |
|||
real, | private | :: | nref |
Reference density in |
|||
real, | private | :: | tref |
Reference temperature in |
|||
real, | private | :: | aref |
Reference length in |
|||
real, | private | :: | vref |
Reference (thermal) velocity in |
|||
real, | private | :: | bref |
Reference magnetic field in Tesla, |
|||
real, | private | :: | rhoref |
Reference Larmor radius in |
procedure , public :: init => norms_init Subroutine | |
procedure , public :: finish => norms_finish Subroutine | |
procedure , public :: reset => norms_reset Subroutine | |
procedure , private , :: read_parameters => norms_read_parameters Subroutine | |
procedure , private , :: set_value => norms_set_value Subroutine | |
procedure , public :: get_value => norms_get_value Function | |
procedure , private , :: check_if_set => norms_check_if_set Function | |
procedure , private , :: set_logicals => norms_set_logicals Subroutine |
Used to represent the input configuration of normalisations. These values are not used for anything but will be written to the output file to aid post processing etc.
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? |
|
real, | public | :: | aref | = | default_value |
Reference length in |
|
real, | public | :: | bref | = | default_value |
Reference magnetic field in |
|
real, | public | :: | mref | = | default_value |
Reference mass in atomic mass units |
|
real, | public | :: | nref | = | default_value |
Reference density in |
|
real, | public | :: | rhoref | = | default_value |
Reference Larmor radius in |
|
real, | public | :: | tref | = | default_value |
Reference temperature in |
|
real, | public | :: | vref | = | default_value |
Reference (thermal) velocity in |
|
real, | public | :: | zref | = | default_value |
Reference charge in units of the elementary charge |
Get the value of the normalisation associated with val_name
.
Unknown values of val_name
result in a call to mp_abort
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(norms_type), | intent(in) | :: | self | |||
character(len=*), | intent(in) | :: | val_name |
Decide if a given normalisation has been set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(norms_type), | intent(in) | :: | self | |||
character(len=*), | intent(in) | :: | val_name |
Gets the default name for this namelist
Gets the default requires index for this namelist
Sets the value of a particular normalisation, determined by the
passed val_name
string. Unknown val_name
values result in a
warning message on proc0
.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(norms_type), | intent(inout) | :: | self | |||
character(len=*), | intent(in) | :: | val_name | |||
real, | intent(in) | :: | val |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(norms_type), | intent(inout) | :: | self | |||
type(normalisations_config_type), | intent(in), | optional | :: | normalisations_config_in |
Initialise the norms object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(norms_type), | intent(inout) | :: | self | |||
type(normalisations_config_type), | intent(in), | optional | :: | normalisations_config_in |
Reset the properties
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(norms_type), | intent(inout) | :: | self |
Reset and free memory
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(norms_type), | intent(inout) | :: | self |
Decide if all/some of the normalisations have been set
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(norms_type), | intent(inout) | :: | self |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | report_unit |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit |
Read input file and populate the norms object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(normalisations_config_type), | intent(in), | optional | :: | normalisations_config_in |
Free memory etc. associated with normalisations
Set the module level config type Will abort if the module has already been initialised to avoid inconsistencies.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(normalisations_config_type), | intent(in), | optional | :: | normalisations_config_in |
Reads in the normalisations_knobs namelist and populates the member variables
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(normalisations_config_type), | intent(inout) | :: | self |
Writes out a namelist representing the current state of the config object
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(normalisations_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(normalisations_config_type), | intent(inout) | :: | self |
Broadcasts all config parameters so object is populated identically on all processors
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(normalisations_config_type), | intent(inout) | :: | self |