
Houses base species class containing particle properties and associated variable names
Getter for id
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Species), | intent(in) | :: | this |
Getter for mass
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Species), | intent(in) | :: | this |
Getter for charge
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Species), | intent(in) | :: | this |
Getter for name
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Species), | intent(in) | :: | this |
Getter for associatedVars
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Species), | intent(in) | :: | this |
Initialize species from JSON file. Here for extensibility
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Species), | intent(inout) | :: | this | |||
| character(len=*), | intent(in) | :: | name | |||
| type(JSONController), | intent(inout) | :: | jsonCont |
JSONController used to get parameters from ./config.json |
||
| type(MPIController), | intent(inout) | :: | mpiCont |
MPIController used with JSONController |
Species initialization. Z is the charge and A the atomic mass (in amus). A/Z are ignored if id = 0, which is reserved for electrons.
vars is a StringArray containing names of associated variables for easy access
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(Species), | intent(inout) | :: | this | |||
| integer(kind=ik), | intent(in) | :: | id | |||
| character(len=*), | intent(in) | :: | name | |||
| real(kind=rk), | intent(in) | :: | Z | |||
| real(kind=rk), | intent(in) | :: | A | |||
| type(StringArray), | intent(in), | dimension(:) | :: | vars |
Base species class containing particle properties and associated variable names
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | userDefined | = | .false. |
True only if user explicitly sets it to true |
|
| integer(kind=ik), | private | :: | id | ||||
| character(len=:), | private, | allocatable | :: | name | |||
| real(kind=rk), | private | :: | charge |
in elementary charge units |
|||
| real(kind=rk), | private | :: | mass |
in kg |
|||
| type(StringArray), | private, | allocatable, dimension(:) | :: | associatedVars |
| procedure, public :: isDefined => isDefinedObject | |
| procedure, public :: makeDefined => makeDefinedObject | |
| procedure, public :: makeUndefined => makeUndefinedObject | |
| procedure, public :: getID | |
| procedure, public :: getName | |
| procedure, public :: getCharge | |
| procedure, public :: getMass | |
| procedure, public :: getAssociatedVars | |
| procedure, public :: initFromJSON | |
| procedure, public :: init => initSpecies |