ai2_kit.domain.vasp module#
- class ai2_kit.domain.vasp.CllVaspContext(path_prefix: str, resource_manager: ai2_kit.core.resource_manager.ResourceManager, config: ai2_kit.domain.vasp.CllVaspContextConfig)[source]#
Bases:
BaseCllContext
- config: CllVaspContextConfig#
- class ai2_kit.domain.vasp.CllVaspContextConfig(*, script_template: BashTemplate, vasp_cmd: str = 'vasp_std', post_vasp_cmd: str = 'echo "no post_vasp_cmd"', concurrency: int = 5)[source]#
Bases:
BaseModel
- concurrency: int#
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'concurrency': FieldInfo(annotation=int, required=False, default=5), 'post_vasp_cmd': FieldInfo(annotation=str, required=False, default='echo "no post_vasp_cmd"'), 'script_template': FieldInfo(annotation=BashTemplate, required=True), 'vasp_cmd': FieldInfo(annotation=str, required=False, default='vasp_std')}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- post_vasp_cmd: str#
- script_template: BashTemplate#
- vasp_cmd: str#
- class ai2_kit.domain.vasp.CllVaspInput(config: ai2_kit.domain.vasp.CllVaspInputConfig, system_files: List[ai2_kit.core.artifact.Artifact], type_map: List[str], initiated: bool = False)[source]#
Bases:
object
- config: CllVaspInputConfig#
- initiated: bool = False#
- type_map: List[str]#
- class ai2_kit.domain.vasp.CllVaspInputConfig(*, init_system_files: List[str] = [], input_template: Optional[Union[dict, str]] = None, potcar_source: Optional[dict] = {}, kpoints_template: Optional[Union[dict, str]] = None, limit: int = 50, limit_method: Literal['even', 'random', 'truncate'] = 'even', ignore_error: bool = False)[source]#
Bases:
BaseModel
- ignore_error: bool#
Ignore error when running VASP.
- init_system_files: List[str]#
- input_template: Optional[Union[dict, str]]#
INCAR template for VASP. Could be a dict or content of a VASP input file.
- kpoints_template: Optional[Union[dict, str]]#
KPOINTS template for VASP. Could be a dict or content of a VASP input file.
- limit: int#
Limit of the number of systems to be labeled.
- limit_method: Literal['even', 'random', 'truncate']#
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
A dictionary of computed field names and their corresponding ComputedFieldInfo objects.
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'ignore_error': FieldInfo(annotation=bool, required=False, default=False), 'init_system_files': FieldInfo(annotation=List[str], required=False, default=[]), 'input_template': FieldInfo(annotation=Union[dict, str, NoneType], required=False, default=None), 'kpoints_template': FieldInfo(annotation=Union[dict, str, NoneType], required=False, default=None), 'limit': FieldInfo(annotation=int, required=False, default=50), 'limit_method': FieldInfo(annotation=Literal['even', 'random', 'truncate'], required=False, default='even'), 'potcar_source': FieldInfo(annotation=Union[dict, NoneType], required=False, default={})}#
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- potcar_source: Optional[dict]#
POTCAR source for VASP. Could be a dict or list of paths.
- class ai2_kit.domain.vasp.GenericVaspOutput(vasp_outputs: List[ai2_kit.core.artifact.Artifact])[source]#
Bases:
ICllLabelOutput
- async ai2_kit.domain.vasp.cll_vasp(input: CllVaspInput, ctx: CllVaspContext) GenericVaspOutput [source]#
- ai2_kit.domain.vasp.make_vasp_task_dirs(system_files: List[ArtifactDict], type_map: List[str], input_template: Optional[Union[dict, str]], potcar_source: Optional[dict], base_dir: str, kpoints_template: Optional[Union[dict, str]] = None, limit: int = 0, limit_method: Literal['even', 'random', 'truncate'] = 'even') List[ArtifactDict] [source]#
Generate VASP input files from LAMMPS dump files or XYZ files.