Skip to content

Commit c7598ff

Browse files
author
Yury Lysogorskiy
committed
initial release commit
0 parents  commit c7598ff

440 files changed

Lines changed: 96240 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0.2.7

CMakeLists.txt

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
cmake_minimum_required(VERSION 3.7)
2+
3+
find_program(CMAKE_C_COMPILER NAMES $ENV{CC} gcc PATHS ENV PATH NO_DEFAULT_PATH)
4+
find_program(CMAKE_CXX_COMPILER NAMES $ENV{CXX} g++ PATHS ENV PATH NO_DEFAULT_PATH)
5+
project(pyace C CXX)
6+
7+
set(CMAKE_CXX_STANDARD 11)
8+
9+
# Set source directory
10+
#------------------------------------------------------
11+
set(SOURCE_DIR "src/pyace")
12+
set(ACE_DIR "lib/ace")
13+
14+
#Headers
15+
#-------------------------------------------------------
16+
#include_directories(${SOURCE_DIR})
17+
include_directories(${SOURCE_DIR}/ace)
18+
include_directories(${SOURCE_DIR}/ace-evaluator)
19+
include_directories(${SOURCE_DIR}/utils)
20+
21+
include_directories(${ACE_DIR}/src/fitting)
22+
include_directories(${ACE_DIR}/ace-evaluator/src)
23+
include_directories(${ACE_DIR}/ace-evaluator/extra)
24+
25+
26+
# Add external libraries
27+
#-------------------------------------------------------
28+
29+
#add_subdirectory(lib/yaml-cpp)
30+
set(YAML_INCLUDE_PATH lib/ace/ace-evaluator/lib/yaml-cpp/include)
31+
include_directories(${YAML_INCLUDE_PATH})
32+
33+
set(WIGNER_PATH lib/ace/utils/wigner-cpp)
34+
set(WIGNER_INCLUDE_PATH ${WIGNER_PATH}/include/wigner)
35+
include_directories(${WIGNER_INCLUDE_PATH})
36+
37+
add_subdirectory(lib/pybind11)
38+
if (NOT CMAKE_BUILD_TYPE)
39+
set(CMAKE_BUILD_TYPE Release)
40+
endif ()
41+
42+
# for advanced functionality
43+
# TODO: check speed influence of this flag
44+
add_definitions(-DEXTRA_C_PROJECTIONS)
45+
#add_definitions(-DDEBUG_FORCES_CALCULATIONS)
46+
#add_definitions(-DMULTIARRAY_INDICES_CHECK)
47+
add_subdirectory(lib/ace)
48+
49+
#Now add sources
50+
#--------------------------------------------------------
51+
set(SOURCES_SHARMONICS "${ACE_DIR}/src/fitting/ace_couplings.cpp"
52+
"${ACE_DIR}/src/fitting/ace_spherical_polar.cpp"
53+
"${SOURCE_DIR}/ace/ace_spherical_polar_binding.cpp"
54+
)
55+
56+
set(SOURCES_COUPLING "${ACE_DIR}/src/fitting/ace_couplings.cpp"
57+
"${ACE_DIR}/src/fitting/ace_clebsch_gordan.cpp"
58+
"${SOURCE_DIR}/ace/ace_coupling_binding.cpp")
59+
60+
set(SOURCES_BASIS "${ACE_DIR}/ace-evaluator/src/ace_c_basis.cpp"
61+
"${ACE_DIR}/ace-evaluator/src/ace_radial.cpp"
62+
"${ACE_DIR}/ace-evaluator/src/ace_spherical_cart.cpp"
63+
"${ACE_DIR}/ace-evaluator/src/ace_abstract_basis.cpp"
64+
"${ACE_DIR}/ace-evaluator/src/ace_flatten_basis.cpp"
65+
"${ACE_DIR}/ace-evaluator/src/ships_radial.cpp"
66+
"${ACE_DIR}/src/fitting/ace_b_basis.cpp"
67+
"${ACE_DIR}/src/fitting/ace_b_basisfunction.cpp"
68+
"${ACE_DIR}/src/fitting/ace_clebsch_gordan.cpp"
69+
"${ACE_DIR}/src/fitting/ace_couplings.cpp"
70+
"${ACE_DIR}/src/fitting/ace_yaml_input.cpp"
71+
"${SOURCE_DIR}/ace-evaluator/ace_c_basis_binding.cpp"
72+
"${SOURCE_DIR}/ace-evaluator/ace_bbasis_spec_helper.cpp"
73+
"${SOURCE_DIR}/ace/ace_radial_helper.cpp"
74+
"${SOURCE_DIR}/ace/ace_c_basisfunction_helper.cpp"
75+
"${SOURCE_DIR}/ace/ace_c_basis_helper.cpp"
76+
)
77+
78+
set(SOURCES_EVALUATOR "${ACE_DIR}/ace-evaluator/src/ace_c_basis.cpp"
79+
"${ACE_DIR}/ace-evaluator/src/ace_abstract_basis.cpp"
80+
"${ACE_DIR}/ace-evaluator/src/ace_flatten_basis.cpp"
81+
"${ACE_DIR}/ace-evaluator/src/ace_evaluator.cpp"
82+
"${ACE_DIR}/ace-evaluator/src/ace_recursive.cpp"
83+
"${ACE_DIR}/ace-evaluator/extra/ace_atoms.cpp"
84+
"${ACE_DIR}/ace-evaluator/src/ace_radial.cpp"
85+
"${ACE_DIR}/ace-evaluator/src/ace_spherical_cart.cpp"
86+
"${ACE_DIR}/src/fitting/ace_b_evaluator.cpp"
87+
"${ACE_DIR}/src/fitting/ace_b_basis.cpp"
88+
"${ACE_DIR}/src/fitting/ace_clebsch_gordan.cpp"
89+
"${ACE_DIR}/src/fitting/ace_yaml_input.cpp"
90+
"${ACE_DIR}/src/fitting/ace_couplings.cpp"
91+
"${SOURCE_DIR}/ace-evaluator/ace_evaluator_binding.cpp"
92+
)
93+
94+
set(SOURCES_CATOMICENVIRONMENT "${ACE_DIR}/ace-evaluator/extra/ace_atoms.cpp"
95+
"${SOURCE_DIR}/utils/ace_atoms_binding.cpp")
96+
97+
98+
set(SOURCES_CALCULATOR
99+
"${ACE_DIR}/ace-evaluator/src/ace_radial.cpp"
100+
"${ACE_DIR}/ace-evaluator/src/ace_abstract_basis.cpp"
101+
"${ACE_DIR}/ace-evaluator/extra/ace_atoms.cpp"
102+
"${ACE_DIR}/ace-evaluator/src/ace_spherical_cart.cpp"
103+
"${ACE_DIR}/ace-evaluator/extra/ace_calculator.cpp"
104+
"${ACE_DIR}/ace-evaluator/src/ace_evaluator.cpp"
105+
"${SOURCE_DIR}/utils/ace_calculator_binding.cpp")
106+
107+
108+
# C++ FLAGS
109+
#---------------------------------------------------------
110+
#set(CMAKE_CXX_FLAGS "-Wall -Wextra")
111+
#set(CMAKE_CXX_FLAGS_DEBUG "-g")
112+
set(CMAKE_CXX_FLAGS_RELEASE "-Ofast -DNDEBUG")
113+
set(CMAKE_CXX_FLAGS_DEBUG "-Ofast -DNDEBUG")
114+
115+
#Finally create the package
116+
#--------------------------------------------------------
117+
pybind11_add_module(sharmonics ${SOURCES_SHARMONICS} )
118+
119+
pybind11_add_module(coupling ${SOURCES_COUPLING})
120+
target_link_libraries(coupling PRIVATE yaml-cpp-pace)
121+
122+
123+
pybind11_add_module(catomicenvironment ${SOURCES_CATOMICENVIRONMENT} )
124+
125+
pybind11_add_module(basis ${SOURCES_BASIS} )
126+
target_link_libraries(basis PRIVATE yaml-cpp-pace)
127+
128+
pybind11_add_module(evaluator ${SOURCES_EVALUATOR} ${SOURCES_BASIS} )
129+
target_link_libraries(evaluator PRIVATE yaml-cpp-pace)
130+
131+
pybind11_add_module(calculator ${SOURCES_CALCULATOR} )
132+
133+

0 commit comments

Comments
 (0)