Implement alternate and recommended way to set properties of abstract base class
See: https://github.com/lammps/lammps/security/code-scanning/476
This commit is contained in:
@ -4,12 +4,13 @@ import pickle
|
|||||||
class MLIAPUnified(ABC):
|
class MLIAPUnified(ABC):
|
||||||
"""Abstract base class for MLIAPUnified."""
|
"""Abstract base class for MLIAPUnified."""
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self, interface = None, element_types = None,
|
||||||
self.interface = None
|
ndescriptors = None, nparams = None, rcutfac = None):
|
||||||
self.element_types = None
|
self.interface = interface
|
||||||
self.ndescriptors = None
|
self.element_types = element_types
|
||||||
self.nparams = None
|
self.ndescriptors = ndescriptors
|
||||||
self.rcutfac = None
|
self.nparams = nparams
|
||||||
|
self.rcutfac = rcutfac
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def compute_gradients(self, data):
|
def compute_gradients(self, data):
|
||||||
|
|||||||
@ -6,16 +6,13 @@ class MLIAPUnifiedLJ(MLIAPUnified):
|
|||||||
"""Test implementation for MLIAPUnified."""
|
"""Test implementation for MLIAPUnified."""
|
||||||
|
|
||||||
def __init__(self, element_types, epsilon=1.0, sigma=1.0, rcutfac=1.25):
|
def __init__(self, element_types, epsilon=1.0, sigma=1.0, rcutfac=1.25):
|
||||||
super().__init__()
|
# ARGS: interface, element_types, ndescriptors, nparams, rcutfac
|
||||||
self.element_types = element_types
|
super().__init__(None, element_types, 1, 3, rcutfac)
|
||||||
self.ndescriptors = 1
|
|
||||||
self.nparams = 3
|
|
||||||
# Mimicking the LJ pair-style:
|
# Mimicking the LJ pair-style:
|
||||||
# pair_style lj/cut 2.5
|
# pair_style lj/cut 2.5
|
||||||
# pair_coeff * * 1 1
|
# pair_coeff * * 1 1
|
||||||
self.epsilon = epsilon
|
self.epsilon = epsilon
|
||||||
self.sigma = sigma
|
self.sigma = sigma
|
||||||
self.rcutfac = rcutfac
|
|
||||||
|
|
||||||
def compute_gradients(self, data):
|
def compute_gradients(self, data):
|
||||||
"""Test compute_gradients."""
|
"""Test compute_gradients."""
|
||||||
|
|||||||
Reference in New Issue
Block a user