deepmd.pt_expt.modifier#

Data modifiers for the PyTorch exportable backend.

Submodules#

Classes#

DipoleChargeModifier

Apply dipole-charge corrections to a pt_expt dipole model.

Package Contents#

class deepmd.pt_expt.modifier.DipoleChargeModifier(model_name: str, model_charge_map: list[float], sys_charge_map: list[float], ewald_h: float = 1.0, ewald_beta: float = 0.4, use_cache: bool = True, dipole_model: Any | None = None)[source]#

Bases: torch.nn.Module, deepmd.dpmodel.modifier.dipole_charge.DipoleChargeModifierBase

Apply dipole-charge corrections to a pt_expt dipole model.

A portable .dp file is accepted through model_name. Tests and embedding workflows may pass an already-deserialized dipole_model.

dipole_model = None#
sel_type#
use_cache = True#
modifier_type = 'dipole_charge'#
train(mode: bool = True) DipoleChargeModifier[source]#

Set modifier mode while keeping the embedded dipole model frozen.

serialize() dict[str, Any][source]#

Serialize the user-facing dipole-charge configuration.

_energy_with_grid(coord: torch.Tensor, atype: torch.Tensor, box: torch.Tensor, grids: tuple[tuple[int, int, int], Ellipsis], fparam: torch.Tensor | None, aparam: torch.Tensor | None, charge_spin: torch.Tensor | None) torch.Tensor[source]#

Evaluate the shared energy core on a precomputed reciprocal grid.

forward(coord: torch.Tensor, atype: torch.Tensor, box: torch.Tensor | None = None, fparam: torch.Tensor | None = None, aparam: torch.Tensor | None = None, do_atomic_virial: bool = False, charge_spin: torch.Tensor | None = None) dict[str, torch.Tensor][source]#

Compute dipole-charge outputs with the shared dpmodel core.