Skip to content

Commit 2e50a6d

Browse files
committed
move common functionality to a utility library
This reorganization will help decouple components. For example, the vmec field needs to use interpolation. With the utility libraries moved to a lower level, we can avoid a circular dependency between pcms::core pcms::interpolator. That is, pcms::core can utilize pcms::interpolator. This is really the first step in a broader re-organization of the pcms::sources to be more modular.
1 parent d50b976 commit 2e50a6d

Some content is hidden

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

57 files changed

+173
-112
lines changed

config.cmake.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ if(@PCMS_ENABLE_OMEGA_H@)
1616
find_dependency(Omega_h CONFIG HINTS @Omega_h_DIR@)
1717
endif()
1818

19+
include("${CMAKE_CURRENT_LIST_DIR}/pcms_utility-targets.cmake")
1920
include("${CMAKE_CURRENT_LIST_DIR}/pcms_core-targets.cmake")
2021
include("${CMAKE_CURRENT_LIST_DIR}/pcms_interpolator-targets.cmake")
2122

examples/external-usage-example/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#include <iostream>
2-
#include <pcms/print.h>
2+
#include <pcms/utility/print.h>
33

44
int main()
55
{

src/CMakeLists.txt

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,7 @@
22
set(
33
PCMS_HEADERS
44
pcms.h
5-
pcms/arrays.h
6-
pcms/assert.h
75
pcms/bounding_box.h
8-
pcms/common.h
96
pcms/coordinate.h
107
pcms/coordinate_systems.h
118
pcms/coordinate_transform.h
@@ -14,12 +11,6 @@ set(
1411
pcms/field_communicator.h
1512
pcms/field_communicator2.h
1613
pcms/field_evaluation_methods.h
17-
pcms/memory_spaces.h
18-
pcms/types.h
19-
pcms/array_mask.h
20-
pcms/inclusive_scan.h
21-
pcms/profile.h
22-
pcms/print.h
2314
pcms/partition.h
2415
pcms/coupler.h
2516
pcms/coordinate_system.h
@@ -33,8 +24,6 @@ set(
3324
set(
3425
PCMS_SOURCES
3526
pcms.cpp
36-
pcms/assert.cpp
37-
pcms/print.cpp
3827
pcms/create_field.cpp
3928
pcms/adapter/xgc/xgc_field_adapter.h
4029
pcms/adapter/point_cloud/point_cloud_layout.cpp
@@ -48,6 +37,8 @@ configure_file(pcms/version.h.in pcms/version.h)
4837
configure_file(pcms/configuration.h.in pcms/configuration.h)
4938
list(APPEND PCMS_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/pcms/version.h ${CMAKE_CURRENT_BINARY_DIR}/pcms/configuration.h)
5039

40+
add_subdirectory(pcms/utility)
41+
5142

5243
if(PCMS_ENABLE_XGC)
5344
list(APPEND PCMS_SOURCES pcms/adapter/xgc/xgc_reverse_classification.cpp)
@@ -78,7 +69,7 @@ add_library(pcms::core ALIAS pcms_core)
7869
target_compile_features(pcms_core PUBLIC cxx_std_17)
7970
target_link_libraries(
8071
pcms_core PUBLIC meshfields::meshfields redev::redev
81-
MPI::MPI_CXX Kokkos::kokkos perfstubs
72+
MPI::MPI_CXX Kokkos::kokkos perfstubs pcms::utility
8273
)
8374
if(PCMS_ENABLE_OMEGA_H)
8475
target_link_libraries(pcms_core PUBLIC Omega_h::omega_h)
@@ -91,10 +82,6 @@ if(PCMS_HAS_ASAN)
9182
)
9283
endif()
9384

94-
if(PCMS_ENABLE_SPDLOG)
95-
target_link_libraries(pcms_core PUBLIC spdlog::spdlog)
96-
endif()
97-
9885
# export the library
9986
set_target_properties(pcms_core PROPERTIES PUBLIC_HEADER "${PCMS_HEADERS}")
10087
target_include_directories(

src/pcms.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#include "pcms.h"
2-
#include "pcms/types.h"
2+
#include "pcms/utility/types.h"
33

44
namespace pcms
55
{

src/pcms.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
#define PCMS_H_
33

44
#include "pcms/configuration.h"
5-
#include "pcms/common.h"
5+
#include "pcms/utility/common.h"
6+
#include "pcms/utility/profile.h"
67
#include "pcms/field_communicator.h"
78
#include "pcms/adapter/omega_h/omega_h_field.h"
8-
#include "pcms/profile.h"
99
#include "pcms/coupler.h"
1010

1111
#endif

src/pcms/adapter/omega_h/omega_h_field.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
#ifndef PCMS_COUPLING_OMEGA_H_FIELD_H
22
#define PCMS_COUPLING_OMEGA_H_FIELD_H
3-
#include "pcms/types.h"
3+
#include "pcms/utility/types.h"
44
#include <Omega_h_mesh.hpp>
55
#include "pcms/field.h"
66
#include "pcms/coordinate_systems.h"
77
#include <Kokkos_Core.hpp>
88
#include <array>
9-
#include <pcms/assert.h>
9+
#include <pcms/utility/assert.h>
1010
#include <Omega_h_for.hpp>
11-
#include "pcms/arrays.h"
12-
#include "pcms/array_mask.h"
11+
#include "pcms/utility/arrays.h"
12+
#include "pcms/utility/array_mask.h"
1313
#include "pcms/point_search.h"
1414
#include <redev_variant_tools.h>
1515
#include <type_traits>
1616
#include "pcms/transfer_field.h"
17-
#include "pcms/memory_spaces.h"
18-
#include "pcms/profile.h"
17+
#include "pcms/utility/memory_spaces.h"
18+
#include "pcms/utility/profile.h"
1919
#include "pcms/partition.h"
2020
#include <optional>
2121

src/pcms/adapter/omega_h/omega_h_field2.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#include <memory>
77

88
#include "pcms/adapter/omega_h/omega_h_field_layout.h"
9-
#include "pcms/types.h"
9+
#include "pcms/utility/types.h"
1010
#include "pcms/field.h"
1111
#include "pcms/coordinate_system.h"
1212
#include "pcms/point_search.h"

src/pcms/adapter/omega_h/omega_h_field_layout.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
#include "omega_h_field2.h"
33
#include "pcms/adapter/omega_h/omega_h_field_layout.h"
44
#include "omega_h_field_layout.h"
5-
#include "pcms/inclusive_scan.h"
6-
#include "pcms/profile.h"
5+
#include "pcms/utility/inclusive_scan.h"
6+
#include "pcms/utility/profile.h"
77
#include <memory>
88

99
namespace pcms

src/pcms/adapter/omega_h/omega_h_field_layout.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
#include <Omega_h_mesh.hpp>
55

6-
#include "pcms/arrays.h"
6+
#include "pcms/utility/arrays.h"
77
#include "pcms/field_layout.h"
88
#include "pcms/coordinate_system.h"
99
#include "pcms/field.h"

src/pcms/adapter/point_cloud/point_cloud.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#include "point_cloud.h"
2-
#include "pcms/profile.h"
3-
#include "pcms/assert.h"
2+
#include "pcms/utility/profile.h"
3+
#include "pcms/utility/assert.h"
44

55
namespace pcms
66
{

0 commit comments

Comments
 (0)