rizer.transport.loaders#
Build momentum-transfer collision-frequency/cross-section models from config.
Species-name dispatch and YAML/LXCat-file-driven model construction for
rizer.transport.collision_frequency and rizer.transport.cross_sections
– config/IO plumbing, not the transport-property physics itself (which stays
in those two modules).
Attributes#
Path to the repo-wide default per-species collision-frequency model mapping. |
Functions#
Get the momentum transfer cross section model for a given species. |
|
Get the momentum transfer collision frequency model for a given species. |
|
|
Load the repo-wide default per-species collision-frequency model mapping. |
Get a list of momentum transfer collision frequency models for the given species. |
Module Contents#
- rizer.transport.loaders.logger#
- rizer.transport.loaders.DEFAULT_COLLISION_FREQUENCY_MODEL_PATH#
Path to the repo-wide default per-species collision-frequency model mapping.
Loaded by
get_default_collision_frequency_model(), using the same loose-YAML-number parsing (parse_convert_yaml()) as any other simulation input YAML.
- rizer.transport.loaders.get_momentum_transfer_cross_section_model(species: str, use_default_radius: bool = False, use_first_available: bool = False, database_to_use: str | None = None, default_radius: float = 1e-10) rizer.transport.cross_sections.MomentumTransferCrossSectionModel#
Get the momentum transfer cross section model for a given species.
- Parameters:
species (
str) – Name of the species (e.g. “CH4”, “Ar”, “N2”).use_default_radius (
bool, optional) – If True, use the default radius for the species if the cross section data is not found in the database.use_first_available (
bool, optional) – If True, use the first available cross section data file for the species if multiple files are found in the database. If False, raise an error if multiple files are found.database_to_use (
str, optional) – If specified, use this file for the cross section data. This is useful if you want to use a specific file from the database, regardless of the species name.default_radius (
float, optional) – Default radius in m to use if the cross section data is not found in the database. By default, it is set to 1e-10 m.
- Returns:
The momentum transfer cross section model for the given species.
- Return type:
- rizer.transport.loaders.get_momentum_transfer_collision_frequency_model(species: str, use_default_radius: bool = False, use_first_available: bool = False, database_to_use: str | None = None, default_radius: float = 1e-10) rizer.transport.collision_frequency.MomentumTransferCollisionFrequencyModel#
Get the momentum transfer collision frequency model for a given species.
- Parameters:
species (
str) – Name of the species (e.g. “CH4”, “Ar”, “N2”).use_default_radius (
bool, optional) – If True, use the default radius for the species if the cross section data is not found in the database.use_first_available (
bool, optional) – If True, use the first available cross section data file for the species if multiple files are found in the database. If False, raise an error if multiple files are found.database_to_use (
str, optional) – If specified, use this file for the cross section data. This is useful if you want to use a specific file from the database, regardless of the species name.default_radius (
float, optional) – Default radius in m to use if the cross section data is not found in the database. By default, it is set to 1e-10 m.
- Returns:
The momentum transfer collision frequency model for the given species.
- Return type:
- rizer.transport.loaders.get_default_collision_frequency_model() dict[str, dict[str, str | float]]#
Load the repo-wide default per-species collision-frequency model mapping.
The mapping is stored in a standalone YAML file next to this module (rather than duplicated in every simulation input YAML), and reused as-is by
get_momentum_transfer_collision_frequencies_list().- Returns:
Parsed content of
DEFAULT_COLLISION_FREQUENCY_MODEL_PATH, in the format expected byget_momentum_transfer_collision_frequencies_list().- Return type:
- rizer.transport.loaders.get_momentum_transfer_collision_frequencies_list(species_names: list[str], collision_frequency_model: dict[str, dict[str, str | float]]) list[rizer.transport.collision_frequency.MomentumTransferCollisionFrequencyModel]#
Get a list of momentum transfer collision frequency models for the given species.
- Parameters:
species_names (
listofstr) – List of species names for which to get the momentum transfer collision frequency models.collision_frequency_model (
dictofstrtodictofstrtostrorfloat) –A dictionary containing the collision frequency model information for each species. The keys are the species names and the values are dictionaries containing the model information. The expected keys in the inner dictionaries are:
”model”: The type of collision frequency model to use. Supported values are “tabulated”, “hard-sphere” and “alias”.
For “tabulated” model:
”database”: The name of the database to use for the tabulated cross section. This should correspond to a file in the data/cross_section folder.
For “hard-sphere” model:
”radius”: The effective radius of the species in meters to use for the hard-sphere cross section.
For “alias” model:
”data_from”: The path/species to use for the alias. This should correspond to a file in the data/cross_section folder.
”database”: The name of the database to use for the alias.
- Returns:
A list of momentum transfer collision frequency models corresponding to the given species names and the specified collision frequency models in the input dictionary.
- Return type:
- Raises:
ValueError – If the collision frequency model specified for a species is unknown or if required parameters are missing for the specified model.
ValueError – If the database name for a tabulated model is not a string.