TS
An introduction to the functions in /BatchOptim/TS/
CI_NEB
(
N_images: <class 'int'>
spring_const: <class 'float'> = 0.1
optimizer: Literal['CG', 'QN', 'FIRE'] = CG
iter_scheme: Literal['BFGS', 'Newton', 'PR', 'PR+', 'SD', 'FR'] = PR+
linesearch: Literal['Backtrack', 'Wolfe', 'NWolfe', '2PT', '3PT', 'Golden', 'Newton', 'None'] = Backtrack
steplength: <class 'float'> = 0.05
E_threshold: <class 'float'> = 0.001
F_threshold: <class 'float'> = 0.05
maxiter: <class 'int'> = 100
device: str | torch.device = cpu
verbose: <class 'int'> = 2
)
1
Ref. TODO
run
(
func: Any | torch.nn.modules.module.Module
X_init: <class 'torch.Tensor'>
X_fin: <class 'torch.Tensor'>
grad_func: Any | torch.nn.modules.module.Module = None
func_args: Sequence = ()
func_kwargs: <class 'inspect._empty'> = None
grad_func_args: Sequence = ()
grad_func_kwargs: <class 'inspect._empty'> = None
is_grad_func_contain_y: <class 'bool'> = True
output_grad: <class 'bool'> = False
fixed_atom_tensor: Optional[torch.Tensor] = None
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
run Dimer algo.
Args:
func: function
X_init: initial structure coordinates
X_fin: finale structure coordinates
grad_func: function of func's gradient
func_args: function args
func_kwargs: function kwargs
grad_func_args: gradient function args
grad_func_kwargs: gradient function kwargs
is_grad_func_contain_y: whether gradient function contains dependant various y
output_grad: whether output gradient
fixed_atom_tensor: mask of fixed atoms
Returns:
Dimer
(
E_threshold: <class 'float'> = 0.001
Torque_thres: <class 'float'> = 0.01
F_threshold: <class 'float'> = 0.05
maxiter_trans: <class 'int'> = 100
maxiter_rot: <class 'int'> = 10
maxiter_linsearch: <class 'int'> = 10
steplength: float | torch.Tensor = 0.5
max_steplength: <class 'float'> = 0.5
dx: <class 'float'> = 0.01
device: str | torch.device = cpu
verbose: <class 'int'> = 2
)
1
Ref. J Chem Phys 2005, 132, 224101.
run
(
func: Any | torch.nn.modules.module.Module
X: <class 'torch.Tensor'>
X_diff: <class 'torch.Tensor'>
grad_func: Any | torch.nn.modules.module.Module = None
func_args: Sequence = ()
func_kwargs: <class 'inspect._empty'> = None
grad_func_args: Sequence = ()
grad_func_kwargs: <class 'inspect._empty'> = None
is_grad_func_contain_y: <class 'bool'> = True
output_grad: <class 'bool'> = False
fixed_atom_tensor: Optional[torch.Tensor] = None
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
run Dimer algo.
Args:
func:
X:
X_diff:
grad_func:
func_args:
func_kwargs:
grad_func_args:
grad_func_kwargs:
is_grad_func_contain_y:
output_grad:
fixed_atom_tensor:
Returns:
DimerLinsMomt
(
E_threshold: <class 'float'> = 0.001
Torque_thres: <class 'float'> = 0.01
F_threshold: <class 'float'> = 0.05
maxiter_trans: <class 'int'> = 100
maxiter_rot: <class 'int'> = 10
maxiter_linsearch: <class 'int'> = 10
steplength: float | torch.Tensor = 0.5
max_steplength: <class 'float'> = 0.5
momenta_coeff: <class 'float'> = 0.9
dx: <class 'float'> = 0.01
device: str | torch.device = cpu
verbose: <class 'int'> = 2
)
1
Ref. J Chem Phys 2005, 132, 224101., with revision of momenta and linear search.
run
(
func: Any | torch.nn.modules.module.Module
X: <class 'torch.Tensor'>
X_diff: <class 'torch.Tensor'>
grad_func: Any | torch.nn.modules.module.Module = None
func_args: Sequence = ()
func_kwargs: <class 'inspect._empty'> = None
grad_func_args: Sequence = ()
grad_func_kwargs: <class 'inspect._empty'> = None
is_grad_func_contain_y: <class 'bool'> = True
output_grad: <class 'bool'> = False
fixed_atom_tensor: Optional[torch.Tensor] = None
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
run Dimer algo.
Args:
func:
X:
X_diff:
grad_func:
func_args:
func_kwargs:
grad_func_args:
grad_func_kwargs:
is_grad_func_contain_y:
fixed_atom_tensor:
output_grad:
Returns: