Skip to content

Commit

Permalink
more changes
Browse files Browse the repository at this point in the history
Signed-off-by: Conrad Hübler <[email protected]>
  • Loading branch information
conradhuebler committed Feb 14, 2025
1 parent 7a97b4f commit 866f44a
Show file tree
Hide file tree
Showing 36 changed files with 970 additions and 551 deletions.
40 changes: 23 additions & 17 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ file(ARCHIVE_EXTRACT INPUT ${PROJECT_SOURCE_DIR}/external/eigen-3.4.0.zip DESTIN
if(NOT EXISTS ${PROJECT_SOURCE_DIR}/external/ulysses.zip)
file(DOWNLOAD https://gitlab.com/siriius/ulysses/-/archive/main/ulysses-main.zip ${PROJECT_SOURCE_DIR}/external/ulysses.zip
TIMEOUT 60 # seconds
EXPECTED_HASH SHA256=1b55f9368c95f5a6dc334b6a86ad5a7583a397c9c59b4abb04f73ca4535cc393)
EXPECTED_HASH SHA256=af676fd3f0b98528bd6f7d12064192af6e4190d6da9808bdad803f1201c9feb6)
endif()

file(ARCHIVE_EXTRACT INPUT ${PROJECT_SOURCE_DIR}/external/ulysses.zip DESTINATION ${PROJECT_SOURCE_DIR}/external)
Expand Down Expand Up @@ -204,18 +204,17 @@ set(curcuma_core_SRC
src/capabilities/simplemd.cpp
src/capabilities/hessian.cpp
src/capabilities/qmdfffit.cpp
src/core/ulyssesinterface.cpp
src/core/qm_methods/eht.cpp
src/core/qm_methods/ulyssesinterface.cpp
src/core/energycalculator.cpp
src/core/molecule.cpp
src/core/fileiterator.cpp
src/core/eigen_uff.cpp
src/core/qmdff.cpp
src/core/eht.cpp
#src/core/eigen_uff.cpp
#src/core/qmdff.cpp
src/core/forcefieldthread.cpp
src/core/forcefield.cpp
src/core/forcefieldfunctions.h
src/core/forcefieldgenerator.cpp
#src/core/forcefield_terms/qmdff_terms.h
src/tools/formats.h
src/tools/geometry.h
src/tools/general.h
Expand All @@ -231,7 +230,7 @@ set(curcuma_core_SRC
add_library(km ${km_SRC})

set(ulysess_SRC
src/core/interface/ulysses.cpp
src/core/qm_methods/interface/ulysses.cpp
)
add_library(ulysses_lib ${ulysess_SRC})
add_executable(ulysses_helper
Expand Down Expand Up @@ -301,7 +300,7 @@ if(USE_XTB)
target_link_libraries(xtb_helper lib-xtb-shared pthread dl)
endif()
set(curcuma_xtb_SRC
src/core/xtbinterface.cpp
src/core/qm_methods/xtbinterface.cpp
)
add_library(curcuma_xtb ${curcuma_xtb_SRC})

Expand Down Expand Up @@ -343,7 +342,7 @@ if(USE_TBLITE)
target_link_libraries(tblite_helper PUBLIC tblite-lib gfortran pthread)
endif()
set(curcuma_tblite_SRC
src/core/tbliteinterface.cpp
src/core/qm_methods/tbliteinterface.cpp
)
add_library(curcuma_tblite ${curcuma_tblite_SRC})

Expand All @@ -362,7 +361,7 @@ if(USE_D3)
target_link_libraries(dftd3_helper PUBLIC s-dftd3 gfortran pthread)
endif()
set(curcuma_D3_SRC
src/core/dftd3interface.cpp
src/core/qm_methods/dftd3interface.cpp
)
add_library(curcuma_D3 ${curcuma_D3_SRC})
target_link_libraries(curcuma_D3 s-dftd3)
Expand Down Expand Up @@ -396,7 +395,7 @@ if(USE_D4)
endif()

set(curcuma_d4_SRC
src/core/dftd4interface.cpp
src/core/qm_methods/dftd4interface.cpp
)
add_library(curcuma_d4 ${curcuma_d4_SRC})
if(DEFINED D4LIBS_DIR AND DEFINED D4INCLUDE_DIR)
Expand Down Expand Up @@ -452,13 +451,20 @@ target_sources(Continuous
PRIVATE
src/core/qmdff_par.h
)
add_test(NAME AAAbGal_mtemplate COMMAND AAAbGal mtemplate WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test_cases)
add_test(NAME AAAbGal_mhybrid COMMAND AAAbGal mhybrid WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test_cases)
add_test(NAME AAAbGal_template COMMAND AAAbGal template WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test_cases)
add_test(NAME AAAbGal_hybrid COMMAND AAAbGal hybrid WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test_cases)
add_test(NAME AAAbGal_incremental COMMAND AAAbGal incr WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test_cases)
#add_test(NAME AAAbGal_mtemplate COMMAND AAAbGal mtemplate WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test_cases)
#add_test(NAME AAAbGal_mhybrid COMMAND AAAbGal mhybrid WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test_cases)
#add_test(NAME AAAbGal_template COMMAND AAAbGal template WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test_cases)
add_test(NAME AAAbGal_subspace COMMAND AAAbGal subspace WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test_cases)
#add_test(NAME AAAbGal_incremental COMMAND AAAbGal incr WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test_cases)

#set_tests_properties(AAAbGal_incremental PROPERTIES TIMEOUT 300)

add_test(NAME confscan_subspace COMMAND confscan_test subspace WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test_cases)
add_test(NAME confscan_free COMMAND AAAbGal free WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test_cases)
add_test(NAME confscan_dtemplate COMMAND AAAbGal dtemplate WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test_cases)
add_test(NAME confscan_template COMMAND AAAbGal template WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test_cases)
add_test(NAME confscan_molalign COMMAND AAAbGal molalign WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/test_cases)

set_tests_properties(AAAbGal_incremental PROPERTIES TIMEOUT 300)


install(TARGETS curcuma RUNTIME DESTINATION bin)
Expand Down
23 changes: 20 additions & 3 deletions src/capabilities/confscan.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,7 @@ void ConfScan::LoadControlJson()
m_MaxHTopoDiff = Json2KeyWord<int>(m_defaults, "MaxHTopoDiff");
m_threads = m_defaults["threads"].get<int>();
m_RMSDmethod = Json2KeyWord<std::string>(m_defaults, "method");

fmt::print(fg(fmt::color::green) | fmt::emphasis::bold, "\nPermutation of atomic indices performed according to {0} \n\n", m_RMSDmethod);

if (m_RMSDmethod == "molalign") {
Expand Down Expand Up @@ -271,6 +272,20 @@ void ConfScan::LoadControlJson()

if (m_useorders == -1)
m_useorders = 10;

if (!m_silent) {
fmt::print(fg(fmt::color::cyan) | fmt::emphasis::bold, "\nCurrent Configuration:\n");
fmt::print("Threads: {}\n", m_threads);
fmt::print("Molalign Tolerance: {}\n", m_molaligntol);
fmt::print("Force Reorder: {}\n", m_force_reorder);
fmt::print("Silent: {}\n", m_silent);
fmt::print("Write: {}\n", m_write);
fmt::print("Update Rotation: {}\n", m_update_rotation);
fmt::print("Split: {}\n", m_split);
fmt::print("Damping: {}\n", m_damping);
fmt::print("Molalign Bin: {}\n", m_molalign);
fmt::print("Method: {}\n", m_method);
}
}

bool ConfScan::openFile()
Expand Down Expand Up @@ -451,9 +466,11 @@ bool ConfScan::LoadRestartInformation()
} catch (json::type_error& e) {
}
}
for (const auto& vector : reorder_cached)
if (std::find(m_reorder_rules.begin(), m_reorder_rules.end(), vector) == m_reorder_rules.end())
m_reorder_rules.push_back(vector);
if (m_restart) {
for (const auto& vector : reorder_cached)
if (std::find(m_reorder_rules.begin(), m_reorder_rules.end(), vector) == m_reorder_rules.end())
m_reorder_rules.push_back(vector);
}
}
m_useRestart = files.size() == 1 && error != int(files.size());
std::cout << "Starting with " << m_reorder_rules.size() << " initial reorder rules." << std::endl;
Expand Down
6 changes: 6 additions & 0 deletions src/capabilities/confscan.h
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,12 @@ class ConfScan : public CurcumaMethod {
ConfScanThread* addThread(const Molecule* reference, const json& config, bool reuse_only = false);
ConfScanThreadNoReorder* addThreadNoreorder(const Molecule* reference, const json& config);

inline int AcceptedCount() const { return m_stored_structures.size(); }
inline int ReorderSuccessfull() const { return m_reorder_successfull_count; }
inline int ReorderCount() const { return m_reorder_count; }
inline int ReorderSkippedCount() const { return m_skipped_count; }
inline int ReuseCount() const { return m_reordered_reused; }

private:
void PrintSetUp(double dLE, double dLI, double dLH);
void SetUp();
Expand Down
4 changes: 4 additions & 0 deletions src/capabilities/curcumamethod.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ CurcumaMethod::CurcumaMethod(const json& defaults, const json& controller, bool
, m_controller(controller)
, m_silent(silent)
{
if (controller.count("verbose") > 0) {
m_silent = false;
m_verbose = true;
}
//m_curcuma_progress.open("curcuma_progress", std::ios::out);
}

Expand Down
1 change: 1 addition & 0 deletions src/capabilities/curcumamethod.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ class CurcumaMethod {
void AppendError(const std::string& error) { m_error_list.push_back(error); }
//std::filebuf m_curcuma_progress;
bool m_silent = true;
bool m_verbose = false;

private:
/* Lets have this for all modules */
Expand Down
Loading

0 comments on commit 866f44a

Please sign in to comment.