ai2_kit.domain.lasp module#

class ai2_kit.domain.lasp.CllLaspContext(path_prefix: str, resource_manager: ai2_kit.core.resource_manager.ResourceManager, config: ai2_kit.domain.lasp.CllLaspContextConfig)[source]#

Bases: BaseCllContext

config: CllLaspContextConfig#
class ai2_kit.domain.lasp.CllLaspContextConfig(*, lasp_cmd: str = 'lasp', script_template: BashTemplate, concurrency: int = 5)[source]#

Bases: BaseModel

concurrency: int#
lasp_cmd: str#
script_template: BashTemplate#
class ai2_kit.domain.lasp.CllLaspInput(config: ai2_kit.domain.lasp.CllLaspInputConfig, type_map: List[str], mass_map: List[float], models: List[ai2_kit.core.artifact.Artifact], new_system_files: List[ai2_kit.core.artifact.Artifact])[source]#

Bases: object

config: CllLaspInputConfig#
mass_map: List[float]#
models: List[Artifact]#
new_system_files: List[Artifact]#
type_map: List[str]#
class ai2_kit.domain.lasp.CllLaspInputConfig(*, input_template: dict, potential: Potential, system_files: List[str])[source]#

Bases: BaseModel

class Potential(*, lammps: Optional[LammpsPotential] = None)[source]#

Bases: BaseModel

class LammpsPotential(*, input_template: str = 'units           metal\nboundary        p p p\natom_style      atomic\natom_modify map yes\n\n$$read_data_section\n\n$$force_field_section\n\ncompute peratom all pressure NULL virial\n')[source]#

Bases: BaseModel

input_template: str#
lammps: Optional[LammpsPotential]#
input_template: dict#

Input template for LASP

potential: Potential#
system_files: List[str]#

Initial system files to explore

class ai2_kit.domain.lasp.CllLaspOutput(output_dirs: List[ai2_kit.core.artifact.Artifact])[source]#

Bases: ICllExploreOutput

get_model_devi_dataset() List[Artifact][source]#
output_dirs: List[Artifact]#
async ai2_kit.domain.lasp.cll_lasp(input: CllLaspInput, ctx: CllLaspContext)[source]#
ai2_kit.domain.lasp.make_lasp_task_dirs(systems: ~typing.List[~ai2_kit.core.artifact.__ArtifactDict.<locals>.ArtifactDict], lasp_in_data: dict, base_dir: str, type_map: ~typing.List[str], mass_map: ~typing.List[float], dp_models: ~typing.List[str], lammps_input_template: ~typing.Optional[str]) ArtifactDict]#
ai2_kit.domain.lasp.process_lasp_outputs(task_dirs: List[str], workers: int = 4)#