package molenc

  1. Overview
  2. Docs
module A = BatArray
module L = BatList
module Log = Dolog.Log
module S = BatString
module V3 = Vector3
type atoms_3D = {
  1. name : string;
  2. elements : int array;
  3. coords : Vector3.t array;
  4. bonds : int list array;
}
type encoded_atom = {
  1. radial : float array array;
  2. angular : float array array;
}
val anum_of_symbol : string -> int
val symbol_of_anum : int -> string
val symbol2_of_anum : int -> string
val nb_channels : int
val channel_of_anum : int -> int
val nb_angular_channels : int
val angular_channel_of_anums : int -> int -> int
val symbols_of_angular_channel : int -> string
val symbol2channel : string array
val symbol_of_channel : int -> string
val read_name : in_channel -> string
val skip_header_lines : in_channel -> unit
val read_atom_bonds_header : in_channel -> int * int
val read_bond_line : in_channel -> int * int
val parse_atom_line : in_channel -> int * Vector3.t
exception Four_dollars
val read_one_molecule : in_channel -> atoms_3D
val within_cutoff : float -> atoms_3D -> int -> (int * int * V3.t) list
val within_cutoff' : float -> atoms_3D -> int -> (int * int * V3.t) list
val connected_atoms : atoms_3D -> int -> (int * int * Vector3.t) list
val pow3 : float -> float
val pow2 : float -> float
val triweight_K : float -> float
val eval_K : float -> float -> float
val pi : float
val all_angles : V3.t -> (int * int * V3.t) list -> (int * float) list
val encode_first_layer : bool -> float -> float -> float -> atoms_3D -> encoded_atom array
val encode_atoms : bool -> int -> float -> float -> float -> atoms_3D -> encoded_atom array