Protocols
Simulation and post-processing codes
Protocol
is the generic term for a software tool used to conduct a numerical Experiment
. There are two
different types of protocols :
- class astrophysix.simdm.protocol.SimulationCode(**kwargs)
Simulation code
- Parameters:
name (
string
) – name (mandatory)code_name (
string
) – base code name (mandatory)alias (
string
) – code aliasurl (
string
) – reference URLcode_version (
string
) – code versiondescription (
string
) – code description
- __eq__(other)
SimulationCode comparison method
- other:
SimulationCode
simulation code to compare to
- other:
- __ne__(other)
Not an implied relationship between “rich comparison” equality methods in Python 2.X but only in Python 3.X see https://docs.python.org/2.7/reference/datamodel.html#object.__ne__
other: other instance to compare to
- __unicode__()
String representation of the instance
- property algorithms
Protocol
Algorithm
list (ObjectList
)
- property alias
Protocol alias
- property code_name
Protocol code name
- property code_version
Protocol code version
- property description
Protocol description
- galactica_valid_alias(alias_value)
- galactica_validity_check(**kwargs)
Perform validity checks on this instance and eventually log warning messages.
- Parameters:
kwargs (
dict
) – keyword arguments (optional)
- property input_parameters
Protocol
InputParameter
list (ObjectList
)
- property name
Protocol name
- property physical_processes
Simulation code
PhysicalProcess
list (ObjectList
)
- property uid
- property url
Protocol code url
- class astrophysix.simdm.protocol.PostProcessingCode(**kwargs)
Post-processing code
- Parameters:
name (
string
) – name (mandatory)code_name (:obj:`string) – base code name (mandatory)
alias (
string
) – code aliasurl (
string
) – reference URLcode_version (
string
) – code versiondescription (
string
) – code description
- __eq__(other)
Protocol comparison method
- other:
Protocol
Protocol to compare to
- other:
- __ne__(other)
Not an implied relationship between “rich comparison” equality methods in Python 2.X but only in Python 3.X see https://docs.python.org/2.7/reference/datamodel.html#object.__ne__
other: other instance to compare to
- __unicode__()
String representation of the instance
- property algorithms
Protocol
Algorithm
list (ObjectList
)
- property alias
Protocol alias
- property code_name
Protocol code name
- property code_version
Protocol code version
- property description
Protocol description
- galactica_valid_alias(alias_value)
- galactica_validity_check(**kwargs)
Perform validity checks on this instance and eventually log warning messages.
- Parameters:
kwargs (
dict
) – keyword arguments (optional)
- property input_parameters
Protocol
InputParameter
list (ObjectList
)
- property name
Protocol name
- property uid
- property url
Protocol code url
Input parameters
- class astrophysix.simdm.protocol.InputParameter(**kwargs)
Protocol input parameter
- Parameters:
name (
string
) – input parameter name (mandatory)key (
string
) – input parameter configuration keydescription (
string
) – input parameter description
- __eq__(other)
InputParameter comparison method
- other:
InputParameter
input parameter to compare to
- other:
- __ne__(other)
Not an implied relationship between “rich comparison” equality methods in Python 2.X but only in Python 3.X see https://docs.python.org/2.7/reference/datamodel.html#object.__ne__
other: other instance to compare to
- __unicode__()
String representation of the instance
- property description
Input parameter description
- galactica_valid_alias(alias_value)
- galactica_validity_check(**kwargs)
Perform validity checks on this instance and eventually log warning messages.
- Parameters:
kwargs (
dict
) – keyword arguments (optional)
- property key
Input parameter configuration key
- property name
Input parameter name
- property uid
Algorithms
Algorithm type
- class astrophysix.simdm.protocol.AlgoType(value)
Algorithm type enum
Example
>>> t = AlgoType.PoissonMultigrid >>> t.name "Multigrid Poisson solver"
- AdaptiveMeshRefinement = ('AMR', 'Adaptive mesh refinement')
- FriendOfFriend = ('FOF', 'Friend-of-friend')
- Godunov = ('Godunov', 'Godunov scheme')
- HLLCRiemann = ('HLLC', 'Harten-Lax-van Leer-Contact Riemann solver')
- NBody = ('nbody', 'N-body method')
- ParticleMesh = ('PM', 'Particle-mesh solver')
- PoissonConjugateGradient = ('Poisson_CG', 'Conjugate Gradient Poisson solver')
- PoissonMultigrid = ('Poisson_MG', 'Multigrid Poisson solver')
- RadiativeTransfer = ('rad_transfer', 'Radiative transfer')
- RayTracer = ('ray_tracer', 'Ray-tracer')
- RungeKutta = ('runge_kutta', 'Runge-Kutta method')
- SmoothParticleHydrodynamics = ('SPH', 'Smooth particle hydrodynamics')
- SpectralMethod = ('spectr_meth', 'Spectral method')
- StructuredGrid = ('struct_grid', 'Structured grid method')
- VoronoiMovingMesh = ('Voronoi_MM', 'Voronoi tesselation-based moving mesh')
- classmethod from_key(key)
- Parameters:
key (
string
) – algorithm type key- Returns:
t – Algorithm type matching the requested key.
- Return type:
- Raises:
ValueError – if requested key does not match any algorithm type.
Example
>>> t = AlgoType.from_key("FOF") >>> t.name "Friend-of-friend" >>> t2 = AlgoType.from_key("MY_UNKNOWN_ALGO_TYPE") ValuerError: No AlgoType defined with the key 'MY_UNKNOWN_ALGO_TYPE'.
- property key
Algorithm type indexing key
- property name
Algorithm type verbose name
Algorithm
- class astrophysix.simdm.protocol.Algorithm(**kwargs)
Protocol algorithm
- Parameters:
algo_type (
AlgoType
orstring
) – AlgoType enum value or AlgoType valid key (mandatory).description (
string
) – algorithm description
- __ne__(other)
Not an implied relationship between “rich comparison” equality methods in Python 2.X but only in Python 3.X see https://docs.python.org/2.7/reference/datamodel.html#object.__ne__
other: other instance to compare to
- __unicode__()
String representation of the instance
- property description
Algorithm description
- galactica_valid_alias(alias_value)
- galactica_validity_check(**kwargs)
Perform validity checks on this instance and eventually log warning messages.
- Parameters:
kwargs (
dict
) – keyword arguments (optional)
- property name
Algorithm name
- property uid
Physical processes
Physics
- class astrophysix.simdm.protocol.Physics(value)
Physics enum
Example
>>> ph = Physics.MHD >>> ph.name "Magnetohydrodynamics"
- AGNFeedback = ('AGN_feedback', 'AGN feedback')
- AtomicCooling = ('atomic_cooling', 'Atomic cooling')
- Chemistry = ('chemistry', 'Chemistry')
- DustCooling = ('dust_cooling', 'Dust cooling')
- ExternalGravity = ('ext_gravity', 'External gravity')
- Hydrodynamics = ('hydro', 'Hydrodynamics')
- MHD = ('mhd', 'Magnetohydrodynamics')
- MolecularCooling = ('mol_cooling', 'Molecular cooling')
- ProtostellarJetFeedback = ('psjet_feedback', 'Protostellar jet feedback')
- RadiativeTransfer = ('rad_transfer', 'Radiative transfer')
- SelfGravity = ('self_gravity', 'Self-gravity')
- StarFormation = ('star_form', 'Star formation')
- StellarInfraredRadiation = ('stell_ir_rad', 'Stellar infrared radiation')
- StellarIonisingRadiation = ('stell_ion_rad', 'Stellar ionising radiation')
- StellarUltravioletRadiation = ('stell_uv_rad', 'Stellar ultraviolet radiation')
- SupermassiveBlackHoleFeedback = ('smbh_feedback', 'SMBH feedback')
- SupernovaeFeedback = ('sn_feedback', 'Supernovae feedback')
- TurbulentForcing = ('turb_forcing', 'Turbulent forcing')
- classmethod from_key(key)
- Parameters:
key (
string
) – physics key- Returns:
t – Physics matching the requested key.
- Return type:
- Raises:
ValueError – if requested key does not match any physics.
Example
>>> ph = Physics.from_key("star_from") >>> ph.name "Star formation" >>> ph2 = Physics.from_key("MY_UNKNOWN_PHYSICS") ValuerError: No Physics defined with the key 'MY_UNKNOWN_PHYSICS'.
- property key
Physics indexing key
- property name
PHysics verbose name
Physical process
- class astrophysix.simdm.protocol.PhysicalProcess(**kwargs)
Simulation code physical process
- Parameters:
physics (
Physics
orstring
) – Physics enum value or Physics valid key. (mandatory)description (
string
) – physics description
- __eq__(other)
PhysicalProcess comparison method
- other:
PhysicalProcess
physical process to compare to
- other:
- __ne__(other)
Not an implied relationship between “rich comparison” equality methods in Python 2.X but only in Python 3.X see https://docs.python.org/2.7/reference/datamodel.html#object.__ne__
other: other instance to compare to
- __unicode__()
String representation of the instance
- property description
Physical process description
- galactica_valid_alias(alias_value)
- galactica_validity_check(**kwargs)
Perform validity checks on this instance and eventually log warning messages.
- Parameters:
kwargs (
dict
) – keyword arguments (optional)
- property name
Physical process name
- property uid