pub struct AtomicNeuralNetwork {
pub networks: HashMap<u8, FeedForwardNet>,
pub descriptor: BehlerParrinelloDescriptor,
}Expand description
Atomic neural network potential (NNP) with one sub-network per element.
Architecture follows Behler (2011): each atom contributes an atomic energy predicted by an element-specific feed-forward network whose input is the Behler-Parrinello descriptor vector.
Fields§
§networks: HashMap<u8, FeedForwardNet>Element-specific networks keyed by atomic number.
descriptor: BehlerParrinelloDescriptorSymmetry-function descriptor shared by all elements.
Implementations§
Source§impl AtomicNeuralNetwork
impl AtomicNeuralNetwork
Sourcepub fn new(descriptor: BehlerParrinelloDescriptor) -> Self
pub fn new(descriptor: BehlerParrinelloDescriptor) -> Self
Create a new AANN with the given descriptor.
Sourcepub fn add_element_network(&mut self, atomic_number: u8, net: FeedForwardNet)
pub fn add_element_network(&mut self, atomic_number: u8, net: FeedForwardNet)
Register a sub-network for the given atomic number.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AtomicNeuralNetwork
impl RefUnwindSafe for AtomicNeuralNetwork
impl Send for AtomicNeuralNetwork
impl Sync for AtomicNeuralNetwork
impl Unpin for AtomicNeuralNetwork
impl UnsafeUnpin for AtomicNeuralNetwork
impl UnwindSafe for AtomicNeuralNetwork
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more