kups.potential.common.direct
¶
Direct potential for models providing precomputed gradients.
Wraps model functions that directly produce energy and gradients (e.g., PyTorch force fields) into the kUPS Potential protocol. Unlike PotentialFromEnergy which uses autodiff, this passes through whatever gradients/Hessians the model provides.
DirectPotential
¶
Bases: Potential[State, Gradients, Hessians, StatePatch]
Potential wrapping models that directly produce gradients.
For models providing precomputed gradients (e.g., PyTorch force fields). Passes through whatever gradients and Hessians the model provides (typically Hessians=EmptyType).
Source code in src/kups/potential/common/direct.py
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | |
__call__(state, patch=None, *, include_compensate=False)
¶
Evaluate the model and accumulate the composed inputs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
state
|
State
|
Current simulation state |
required |
patch
|
StatePatch | None
|
Optional state patch for incremental updates |
None
|
include_compensate
|
bool
|
Return the accumulator rather than its compensated total |
False
|
Returns:
| Type | Description |
|---|---|
PotentialResult[State, Gradients, Hessians] | CompensatedPotentialResult[State, Gradients, Hessians]
|
Potential output with the cache update patch composed |
Source code in src/kups/potential/common/direct.py
DirectPotentialFunction
¶
Bases: Protocol
Protocol for functions returning PotentialOut directly.