adsorpy.rsa_config module¶
Schema and validator for the RSA simulation configuration.
- adsorpy.rsa_config.JsonValue: TypeAlias = 'JsonLeaf | list[JsonLeaf] | dict[str, JsonLeaf]'¶
Values stored in the JSON. Potentially recursive.
- adsorpy.rsa_config.RawJsonDict¶
Dictionary containing the JSON values.
alias of
dict[str, JsonLeaf | list[JsonLeaf] | dict[str, JsonLeaf]]
- adsorpy.rsa_config.JsonLeaf: TypeAlias = float | str | int | list[float] | bool | None¶
Primitive values stored in the JSON.
- class adsorpy.rsa_config.LoggingConfig(**data)[source]¶
Bases:
BaseModelWhether logging is enabled or not.
- Parameters:
enabled (bool) – If true: enable logging.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- classmethod strip_comments(data)[source]¶
Strip keys containing ‘_comment’ from the incoming data dictionary.
- Parameters:
data (
dict[str,float|str|int|list[float] |bool|None|list[float|str|int|list[float] |bool|None] |dict[str,float|str|int|list[float] |bool|None]]) – Raw dictionary.- Return type:
dict[str,float|str|int|list[float] |bool|None|list[float|str|int|list[float] |bool|None] |dict[str,float|str|int|list[float] |bool|None]]- Returns:
Dictionary with ‘_comment’ removed.
- _abc_impl = <_abc._abc_data object>¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class adsorpy.rsa_config.WrappedValue(**data)[source]¶
-
Generic wrapper for fields containing a nested ‘value’ key.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
value (T)
- value: T¶
- classmethod strip_comments(data)[source]¶
Strip keys containing ‘_comment’ from the incoming data dictionary.
- Return type:
dict[str,float|str|int|list[float] |bool|None|list[float|str|int|list[float] |bool|None] |dict[str,float|str|int|list[float] |bool|None]]- Parameters:
data (dict[str, float | str | int | list[float] | bool | None | list[float | str | int | list[float] | bool | None] | dict[str, float | str | int | list[float] | bool | None]])
- _abc_impl = <_abc._abc_data object>¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class adsorpy.rsa_config.RsaConfig(config_path=None, **kwargs)[source]¶
Bases:
BaseModelFull RSA Configuration model mirroring the JSON schema exactly.
- Variables:
logging – Whether to enable logging.
sites – The surface site count.
xsize – The surface size in the x direction.
ysize – The surface size in the y direction.
zsize – The surface size in the z direction.
max_molecule_count – The maximum number of molecules allowed in the simulation.
lattice_a – The lattice spacing.
boundary_type – The boundary type.
sticking_probability – The sticking probability.
- Parameters:
config_path (str | FilePath | None)
logging (LoggingConfig)
sites (WrappedValue[Union[Annotated[int, Gt], NoneType]])
xsize (WrappedValue[Union[Annotated[float, Ge], NoneType]])
ysize (WrappedValue[Union[Annotated[float, Ge], NoneType]])
zsize (WrappedValue[Union[Annotated[float, Ge], NoneType]])
max_molecule_count (WrappedValue[Annotated[int, Ge]])
lattice_a (WrappedValue[Annotated[float, Ge]])
boundary_type (WrappedValue[Literal['soft', 'hard', 'periodic']])
sticking_probability (WrappedValue[Annotated[float, Ge]])
Initialise the configuration.
Supports drop-in instantiation via a positional file path string/Path object, or keyword arguments for testing/override setups.
- Parameters:
config_path (
str|Path|None) – The path to the configuration file.kwargs (
object) – Additional keyword arguments.logging (LoggingConfig)
sites (WrappedValue[Union[Annotated[int, Gt], NoneType]])
xsize (WrappedValue[Union[Annotated[float, Ge], NoneType]])
ysize (WrappedValue[Union[Annotated[float, Ge], NoneType]])
zsize (WrappedValue[Union[Annotated[float, Ge], NoneType]])
max_molecule_count (WrappedValue[Annotated[int, Ge]])
lattice_a (WrappedValue[Annotated[float, Ge]])
boundary_type (WrappedValue[Literal['soft', 'hard', 'periodic']])
sticking_probability (WrappedValue[Annotated[float, Ge]])
- logging: LoggingConfig¶
- sites: WrappedValue[Annotated[int, Gt] | NoneType]¶
- xsize: WrappedValue[Annotated[float, Ge] | NoneType]¶
- ysize: WrappedValue[Annotated[float, Ge] | NoneType]¶
- zsize: WrappedValue[Annotated[float, Ge] | NoneType]¶
- max_molecule_count: WrappedValue[Annotated[int, Ge]]¶
- lattice_a: WrappedValue[Annotated[float, Ge]]¶
- _abc_impl = <_abc._abc_data object>¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- boundary_type: WrappedValue[Literal['soft', 'hard', 'periodic']]¶
- sticking_probability: WrappedValue[Annotated[float, Ge]]¶