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
-
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
-
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
¶