-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlibdescriptor.uml
58 lines (50 loc) · 1.32 KB
/
libdescriptor.uml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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
@startuml
!theme vibrant
left to right direction
namespace Namespace::Descriptor {
class Functions{
+void compute_single_atom()
+void compute()
+void jacobian()
+void gradient_single_atom()
+void num_gradient_single_atom()
+void gradient()
}
enum AvailableDescriptor{
KindSymmetryFunctions
KindBispectrum
KindSOAP
KindXi
}
class DescriptorKind{
int width
AvailableDescriptor descriptor_kind
+void compute(int idx,int n_atoms, int *species, int *n_list, int n_neigh, double *coords,double *desc)
+DescriptorKind* initDescriptor(...)
}
}
DescriptorKind <|.. SymmetryFunctions
DescriptorKind <|.. SOAP
DescriptorKind <|.. Bispectrum
DescriptorKind <|.. Xi
interface SymmetryFunctions{
+<params>
+descriptor_kind = KindSymmetryFunctions
+void clone_empty(DescriptorKind* d_desc)
}
interface SOAP{
+<params>
+descriptor_kind = KindSOAP
+void clone_empty(DescriptorKind* d_desc)
}
interface Xi{
+<params>
+descriptor_kind = KindXi
+void clone_empty(DescriptorKind* d_desc)
}
interface Bispectrum{
+<params>
+descriptor_kind = KindBispectrum
+void clone_empty(DescriptorKind* d_desc)
}
@enduml