Source code for pyrevs.strategies.montecarlo.config

from dataclasses import dataclass
from dataclasses import field
from pyrevs.core import MergePolicy


@dataclass(frozen=True)
[docs] class MCConfig: """MC strategy configuration.""" __section__ = "montecarlo" __merge_policy__ = MergePolicy.IMMUTABLE
[docs] ntrajectories: int = field( default=-1, metadata={ "doc": "Number of trajectories to generate", }, )
[docs] end_time: float | None = field( default=None, metadata={ "doc": "End time of the individual simulations", }, )
[docs] def validate(self) -> None: """Validate MC configuration.""" if self.ntrajectories <= 0: err_msg = " MCConfig.ntrajectories must be > 0" raise ValueError(err_msg)