Skip to content

Commit 2b3bbd3

Browse files
authored
Merge pull request #1635 from PrincetonUniversity/1554-enum2
1554 - Move enumerations to core Part II
2 parents 253c6c6 + da4de45 commit 2b3bbd3

File tree

431 files changed

+1676
-1853
lines changed

Some content is hidden

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

431 files changed

+1676
-1853
lines changed

CMakeLists.txt

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -231,24 +231,6 @@ set(CMAKE_MESSAGE_LOG_LEVEL ${_saved_CMAKE_MESSAGE_LOG_LEVEL})
231231
# Add module subdirectories
232232
add_subdirectory(core)
233233

234-
add_library(
235-
enumerations
236-
src/enumerations/display.cpp
237-
src/enumerations/wavefield.cpp
238-
src/enumerations/dim2/connections.cpp
239-
src/enumerations/dim3/connections.cpp
240-
src/enumerations/dim3/mesh_entities.cpp
241-
src/enumerations/dim2/mesh_entities.cpp
242-
src/enumerations/dim2/connections.cpp
243-
src/enumerations/coupled_interface.cpp
244-
)
245-
246-
target_link_libraries(
247-
enumerations
248-
${BOOST_LIBS}
249-
Kokkos::kokkos
250-
)
251-
252234
# specfem2d executable for backward compatibility
253235
add_executable(specfem2d src/specfem2d.cpp)
254236
target_link_libraries(specfem2d

core/specfem/CMakeLists.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,15 @@ add_subdirectory(algorithms)
33
add_subdirectory(assembly)
44
add_subdirectory(attenuation)
55
add_subdirectory(element)
6+
add_subdirectory(element_connections)
7+
add_subdirectory(enums)
68
add_subdirectory(jacobian)
79
add_subdirectory(compute)
810
add_subdirectory(io)
911
add_subdirectory(logger)
1012
add_subdirectory(macros)
1113
add_subdirectory(mesh)
14+
add_subdirectory(mesh_entity)
1215
add_subdirectory(mpi)
1316
add_subdirectory(periodic_tasks)
1417
add_subdirectory(point)
@@ -32,14 +35,18 @@ add_library(specfem::core ALIAS specfem_core_interface)
3235
target_link_libraries(specfem_core_interface
3336
INTERFACE
3437
specfem::algorithms
38+
specfem::attenuation
3539
specfem::assembly
3640
specfem::jacobian
3741
specfem::compute
3842
specfem::element
43+
specfem::element_connections
44+
specfem::enums
3945
specfem::io
4046
specfem::logger
4147
specfem::macros
4248
specfem::mesh
49+
specfem::mesh_entity
4350
specfem::mpi
4451
specfem::periodic_tasks
4552
specfem::point

core/specfem/algorithms/coupling_integral.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#pragma once
22

3-
#include "enumerations/interface.hpp"
43
#include "specfem/assembly.hpp"
4+
#include "specfem/enums.hpp"
55
#include "specfem/execution.hpp"
66
#include "specfem/point.hpp"
77
#include <Kokkos_Core.hpp>
@@ -58,7 +58,7 @@ coupling_integral(const specfem::assembly::assembly<dimension_tag> &assembly,
5858
const IntersectionFactor &intersection_factor,
5959
const CallableType &callback) {
6060

61-
constexpr auto self_medium_tag = specfem::interface::attributes<
61+
constexpr auto self_medium_tag = specfem::element_coupling::attributes<
6262
dimension_tag, IntersectionFactor::interface_tag>::self_medium();
6363

6464
using PointIndexType =

core/specfem/algorithms/locate_point.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#pragma once
22

3-
#include "enumerations/mesh_entities.hpp"
43
#include "specfem/assembly.hpp"
4+
#include "specfem/mesh_entity.hpp"
55
#include "specfem/point.hpp"
66

77
namespace specfem {

core/specfem/algorithms/locate_point/dim2/locate_point.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
#include "specfem/algorithms/locate_point.hpp"
2-
#include "enumerations/mesh_entities.hpp"
32
#include "specfem/algorithms/locate_point/locate_point_impl.hpp"
43
#include "specfem/algorithms/locate_point/locate_point_impl.tpp"
54
#include "specfem/assembly.hpp"
65
#include "specfem/jacobian.hpp"
6+
#include "specfem/mesh_entity.hpp"
77
#include "specfem/point.hpp"
88
#include "specfem_setup.hpp"
99
#include <Kokkos_Core.hpp>

core/specfem/algorithms/transfer.hpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#pragma once
22

3-
#include "enumerations/interface.hpp"
43
#include "specfem/data_access.hpp"
4+
#include "specfem/enums.hpp"
55
#include "specfem/execution.hpp"
66
#include <Kokkos_Core.hpp>
77
#include <type_traits>
@@ -25,12 +25,12 @@ namespace specfem::algorithms {
2525
into
2626
* @ingroup AlgorithmsTransfer
2727
*/
28-
template <
29-
typename IndexType, typename TransferFunctionType,
30-
typename EdgeFunctionType, typename IntersectionReturnCallback,
31-
typename std::enable_if_t<TransferFunctionType::connection_tag ==
32-
specfem::connections::type::nonconforming,
33-
int> = 0>
28+
template <typename IndexType, typename TransferFunctionType,
29+
typename EdgeFunctionType, typename IntersectionReturnCallback,
30+
typename std::enable_if_t<
31+
TransferFunctionType::connection_tag ==
32+
specfem::element_connections::type::nonconforming,
33+
int> = 0>
3434
KOKKOS_INLINE_FUNCTION void
3535
transfer(const IndexType &chunk_edge_index,
3636
const TransferFunctionType &transfer_function,

core/specfem/assembly/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ target_link_libraries(
1919
specfem::receivers
2020
shape_functions
2121
Kokkos::kokkos
22-
enumerations
22+
specfem::enums
2323
${BOOST_LIBS}
2424
$<$<BOOL:${SPECFEM_ENABLE_VTK}>:${VTK_LIBRARIES}>
2525
)

core/specfem/assembly/assembly.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#pragma once
22

3-
#include "enumerations/interface.hpp"
3+
#include "specfem/enums.hpp"
44

55
/**
66
* @namespace specfem::assembly

core/specfem/assembly/assembly/dim2/assembly.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#include "specfem/assembly/assembly.hpp"
2-
#include "enumerations/interface.hpp"
2+
#include "specfem/assembly/info.hpp"
3+
#include "specfem/enums.hpp"
34
#include "specfem/io.hpp"
45
#include "specfem/mesh.hpp"
5-
#include "specfem/assembly/info.hpp"
66

77
specfem::assembly::assembly<specfem::element::dimension_tag::dim2>::assembly(
88
const specfem::mesh::mesh<dimension_tag> &mesh,
@@ -12,7 +12,7 @@ specfem::assembly::assembly<specfem::element::dimension_tag::dim2>::assembly(
1212
const std::vector<std::shared_ptr<
1313
specfem::receivers::receiver<specfem::element::dimension_tag::dim2> > >
1414
&receivers,
15-
const std::vector<specfem::wavefield::type> &stypes, const type_real t0,
15+
const std::vector<specfem::enums::wavefield> &stypes, const type_real t0,
1616
const type_real dt, const int max_timesteps, const int max_sig_step,
1717
const int nsteps_between_samples,
1818
const specfem::simulation::type simulation,

core/specfem/assembly/assembly/dim2/assembly.hpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
#pragma once
22

3-
#include "enumerations/interface.hpp"
43
#include "specfem/assembly/boundaries.hpp"
54
#include "specfem/assembly/boundary_values.hpp"
65
#include "specfem/assembly/compute_source_array.hpp"
76
#include "specfem/assembly/conforming_interfaces.hpp"
87
#include "specfem/assembly/edge_types.hpp"
98
#include "specfem/assembly/element_types.hpp"
10-
#include "specfem/assembly/info.hpp"
119
#include "specfem/assembly/fields.hpp"
10+
#include "specfem/assembly/info.hpp"
1211
#include "specfem/assembly/jacobian_matrix.hpp"
1312
#include "specfem/assembly/kernels.hpp"
1413
#include "specfem/assembly/mesh.hpp"
1514
#include "specfem/assembly/nonconforming_interfaces.hpp"
1615
#include "specfem/assembly/properties.hpp"
1716
#include "specfem/assembly/receivers.hpp"
1817
#include "specfem/assembly/sources.hpp"
18+
#include "specfem/enums.hpp"
1919
#include "specfem/mesh.hpp"
2020
#include "specfem/receivers.hpp"
2121
#include "specfem/source.hpp"
@@ -158,7 +158,7 @@ template <> struct assembly<specfem::element::dimension_tag::dim2> {
158158

159159
/**
160160
* @brief Info
161-
*
161+
*
162162
*/
163163
specfem::assembly::Info<dimension_tag> info;
164164

@@ -191,7 +191,7 @@ template <> struct assembly<specfem::element::dimension_tag::dim2> {
191191
const std::vector<
192192
std::shared_ptr<specfem::receivers::receiver<dimension_tag> > >
193193
&receivers,
194-
const std::vector<specfem::wavefield::type> &stypes, const type_real t0,
194+
const std::vector<specfem::enums::wavefield> &stypes, const type_real t0,
195195
const type_real dt, const int max_timesteps, const int max_sig_step,
196196
const int nsteps_between_samples,
197197
const specfem::simulation::type simulation,
@@ -211,7 +211,7 @@ template <> struct assembly<specfem::element::dimension_tag::dim2> {
211211
Kokkos::View<type_real ****, Kokkos::LayoutLeft, Kokkos::HostSpace>
212212
generate_wavefield_on_entire_grid(
213213
const specfem::simulation::field_type wavefield,
214-
const specfem::wavefield::type component);
214+
const specfem::enums::wavefield component);
215215

216216
/**
217217
* @brief Get the total number of spectral elements in the mesh
@@ -249,7 +249,6 @@ template <> struct assembly<specfem::element::dimension_tag::dim2> {
249249
*
250250
*/
251251
void check_jacobian_matrix() const;
252-
253252
};
254253

255254
} // namespace specfem::assembly

0 commit comments

Comments
 (0)