Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Anisotropy Implementation #257

Open
wants to merge 254 commits into
base: devel
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
254 commits
Select commit Hold shift + click to select a range
212784b
Implemented one failing test, newmark time scheme that reads a new mesh
lsawade Dec 9, 2024
a406e68
Move Python code to specfempp-py
icui Dec 9, 2024
983b6b1
Implementation of point source type
Rohit-Kakodkar Dec 9, 2024
e52f619
Added tests to read an anisotropic material, and run newmark time tes…
lsawade Dec 9, 2024
ac9ab10
Merge branch 'devel' into issue-228-anisotropy
lsawade Dec 9, 2024
1cdda50
Added load on device functions
Rohit-Kakodkar Dec 9, 2024
30060cc
Add YAML::Node as setup overload
icui Dec 9, 2024
a2fb8e7
Added store on functions for sources | initial commit for tests
Rohit-Kakodkar Dec 9, 2024
b3f1e91
Add new material
lsawade Dec 10, 2024
d1f56a0
Added elastic property.
lsawade Dec 10, 2024
15f39a5
Modified reader to take in anisotropic material
lsawade Dec 10, 2024
17422dd
Removed nameless namespace in the read_material_properties.cpp
lsawade Dec 10, 2024
54bf3cd
Removed nameless namespace in the read_material_properties.cpp
lsawade Dec 10, 2024
46a794e
Merge pull request #263 from PrincetonUniversity/issue-252
lsawade Dec 10, 2024
fd98954
Merge branch 'issue-228-anisotropy' into issue-250
Rohit-Kakodkar Dec 10, 2024
d4b7ce6
Implemented point properties for anisotropic media
Rohit-Kakodkar Dec 10, 2024
70b5e75
Added density to point properties
Rohit-Kakodkar Dec 10, 2024
dbcceb2
Minor Fix with value_type
Rohit-Kakodkar Dec 10, 2024
deaab98
Implement anisotropic properties_container.
icui Dec 10, 2024
087ad98
Added the anisotropic mediem header
lsawade Dec 10, 2024
2a83308
Added mesh materials tests | added a test fixture
Rohit-Kakodkar Dec 10, 2024
168119f
removed deprecated mesh tests
Rohit-Kakodkar Dec 10, 2024
0389cc9
Implement compute_properties
icui Dec 10, 2024
6fbebe5
Merge pull request #272 from PrincetonUniversity/issue-250
icui Dec 10, 2024
e1c4a64
Merge pull request #267 from PrincetonUniversity/issue-250
Rohit-Kakodkar Dec 10, 2024
a802c2f
Merge pull request #269 from PrincetonUniversity/issue-251
icui Dec 10, 2024
fd51c1e
Merge branch 'issue-228-anisotropy' into issue-270
lsawade Dec 10, 2024
c528726
Merge pull request #273 from PrincetonUniversity/issue-264
Rohit-Kakodkar Dec 11, 2024
adb6786
Throwing an error for the wavefield computation.
lsawade Dec 11, 2024
468f234
Merge branch 'issue-228-anisotropy' into issue-270
Rohit-Kakodkar Dec 12, 2024
fd1a829
Added anisotropic tags to element ordering
Rohit-Kakodkar Dec 12, 2024
f538500
Added anisotropic sources
Rohit-Kakodkar Dec 12, 2024
3872142
Added anisotropic receivers
Rohit-Kakodkar Dec 12, 2024
9a9d05e
Added anisotropic mass matrix computations
Rohit-Kakodkar Dec 12, 2024
d49ad64
Added method to compute anisotropic stacey traction
Rohit-Kakodkar Dec 12, 2024
3aed0ce
Added anisotropic template instantiations
Rohit-Kakodkar Dec 12, 2024
7eeb507
Added template specializations for acoustic and elastic kernels class
Rohit-Kakodkar Dec 12, 2024
c9266df
Added anisotropic header to compute_stress
Rohit-Kakodkar Dec 12, 2024
d31804c
Mesh ordering tags are being generated automatically
Rohit-Kakodkar Dec 12, 2024
a237a2b
removed commented code
Rohit-Kakodkar Dec 12, 2024
882c153
Poetry reformat...
lsawade Dec 11, 2024
bcd9739
Merge pull request #271 from PrincetonUniversity/issue-270
lsawade Dec 13, 2024
16bc821
Implement kernels_container
icui Dec 13, 2024
fb46212
Merge pull request #284 from PrincetonUniversity/issue-280
Rohit-Kakodkar Dec 13, 2024
2a3f03f
Merge pull request #286 from PrincetonUniversity/issue-285
Rohit-Kakodkar Dec 13, 2024
98af5bb
Updated error message | Added comments
Rohit-Kakodkar Dec 13, 2024
26df960
Merge pull request #291 from PrincetonUniversity/issue-276
Rohit-Kakodkar Dec 13, 2024
b07ec56
Merge pull request #290 from PrincetonUniversity/issue-289
Rohit-Kakodkar Dec 13, 2024
eca3d71
Merge pull request #288 from PrincetonUniversity/issue-287
Rohit-Kakodkar Dec 13, 2024
49f41dc
Merge pull request #283 from PrincetonUniversity/issue-279
Rohit-Kakodkar Dec 13, 2024
cba9801
Merge pull request #282 from PrincetonUniversity/issue-281
Rohit-Kakodkar Dec 13, 2024
ff9b74a
Add tests for assembly/kernels
icui Dec 13, 2024
a487fe6
Merge pull request #296 from PrincetonUniversity/issue-228-anisotropy
icui Dec 13, 2024
e5eaad5
Added comments to the Kernel formulation in frechet_derivatives/impl/…
lsawade Dec 14, 2024
f9d8244
Edited all relevant anisotropy files in include/frechet/ and src/frec…
lsawade Dec 16, 2024
a61b13c
Added include/point/kernels.hpp so that the code may be compiled
lsawade Dec 16, 2024
51166e5
Compiling succesfully
lsawade Dec 16, 2024
6c93d8e
Merge branch 'devel' into issue-295
lsawade Dec 16, 2024
fd20254
anisotropic kernel writer
icui Dec 16, 2024
5e16d0d
Merge pull request #294 from PrincetonUniversity/issue-274
icui Dec 16, 2024
327b3dc
Compiling succesfully
lsawade Dec 16, 2024
58c7464
Forgot to add element kernel
lsawade Dec 17, 2024
238d61b
I dont know why, but the cmakelists and the snakefile seem to be gene…
lsawade Dec 17, 2024
dbd17ee
Fixed the snakemake files for the examples
lsawade Dec 17, 2024
277f59a
Fixed the plotting of the rest of the examples by adding the matplotl…
lsawade Dec 17, 2024
71d373a
added anisotropy crystal
lsawade Dec 17, 2024
c34bce3
Merge branch 'issue-295' into issue-299
icui Dec 17, 2024
9a310bc
Update kernel properties.
icui Dec 17, 2024
e8f8bea
Update compute_kernels.cpp
icui Dec 17, 2024
71c74d3
Merge pull request #298 from PrincetonUniversity/issue-295
icui Dec 17, 2024
92d735c
Merge remote-tracking branch 'origin/issue-303' into issue-299
icui Dec 17, 2024
44891fb
Update name for writer
icui Dec 17, 2024
935381c
Updated kernel.tpp for new iteration pattern on sources
Rohit-Kakodkar Dec 17, 2024
b4b640e
Update writer and Tromp2005 example.
icui Dec 17, 2024
c025c0c
Simplify medium access for kernels and properties.
icui Dec 17, 2024
d6a14c4
Merge pull request #304 from PrincetonUniversity/issue-303
icui Dec 17, 2024
5482966
Merge branch 'issue-228-anisotropy' into issue-299
icui Dec 17, 2024
371248e
Update formatting.
icui Dec 17, 2024
a593f0d
Merge pull request #300 from PrincetonUniversity/issue-299
icui Dec 17, 2024
26ba26b
Update formatting.
icui Dec 17, 2024
b952c57
Fixed seg faults on tests | Fixed wavefield plotting
Rohit-Kakodkar Dec 17, 2024
23d58be
Initial commit for macros
Rohit-Kakodkar Dec 18, 2024
36a0aec
Merge pull request #253 from PrincetonUniversity/issue-231-3-1
icui Dec 18, 2024
7aae10d
Merge remote-tracking branch 'origin/issue-228-anisotropy' into issue…
icui Dec 18, 2024
ac2b69e
Implement element indices getter for kernels.
icui Dec 18, 2024
5290545
Merge pull request #311 from PrincetonUniversity/issue-302
icui Dec 18, 2024
a8f9f46
Update kernel writer.
icui Dec 18, 2024
f07758e
Simplified template instantiations using macro
Rohit-Kakodkar Dec 18, 2024
1380cd9
Fixed compute_wavefield
Rohit-Kakodkar Dec 18, 2024
e01649c
Initial commit for kernels refactor
Rohit-Kakodkar Dec 18, 2024
97fcb98
Macro implementation frechet kernels
Rohit-Kakodkar Dec 18, 2024
0696797
Merge branch 'issue-228-anisotropy' into issue-306
lsawade Dec 18, 2024
fdfd6be
Merge pull request #312 from PrincetonUniversity/issue-312
Rohit-Kakodkar Dec 18, 2024
f52ad23
Moved frechet derivatives computation to `specfem::medium`
Rohit-Kakodkar Dec 18, 2024
adea203
The example runs but the traces are nans
lsawade Dec 18, 2024
5f19cc8
Added documentation
Rohit-Kakodkar Dec 18, 2024
9d2c1ce
The fixed a few issues: DT, NSTEPs, and some file writing. The seismo…
lsawade Dec 18, 2024
9067670
Merge branch 'issue-228-anisotropy' into issue-306
lsawade Dec 18, 2024
e9c4470
Fixed pressure seismograms for anisotropic domains
Rohit-Kakodkar Dec 18, 2024
b127289
Add parent class for kernels and properties
icui Dec 18, 2024
b13e11f
Merge branch 'issue-318' into issue-260
Rohit-Kakodkar Dec 18, 2024
2de65d8
Element info class (templated)
icui Dec 19, 2024
9b986db
Create element_tyes and value_containers.
icui Dec 19, 2024
647cc8f
Update upstream
icui Dec 19, 2024
5f5215b
Added documentation
Rohit-Kakodkar Dec 19, 2024
517d81d
Merge pull request #315 from PrincetonUniversity/issue-310
icui Dec 19, 2024
1a96ab6
Fix wrong medium_tags.
icui Dec 19, 2024
c876473
Merge branch 'issue-228-anisotropy' into issue-316-further
icui Dec 19, 2024
0fe3d8c
Update domain kernels
icui Dec 19, 2024
457b3fd
Update kernel writer
icui Dec 19, 2024
7a728a9
Add boundary_tags
icui Dec 19, 2024
54a3f74
Change kerneks / properties to mixin.
icui Dec 19, 2024
be3e5db
Update for properties.
icui Dec 19, 2024
3761e66
Merge pull request #322 from PrincetonUniversity/pressure-seismogram-fix
Rohit-Kakodkar Dec 20, 2024
9b874b4
Merge branch 'issue-228-anisotropy' into issue-313
Rohit-Kakodkar Dec 20, 2024
514c526
Merge branch 'issue-228-anisotropy' into issue-313
Rohit-Kakodkar Dec 20, 2024
6bf7dd1
Added documentation for material systems macro
Rohit-Kakodkar Dec 20, 2024
e9a7e84
Merge branch 'issue-313' into issue-318
Rohit-Kakodkar Dec 20, 2024
9465829
Update kernel writer.
icui Dec 20, 2024
83144a4
Make get_container constexpr
icui Dec 20, 2024
2da22b6
Merge pull request #321 from PrincetonUniversity/issue-318
Rohit-Kakodkar Dec 20, 2024
b780266
Removed a lot of the stations for plotting
lsawade Dec 20, 2024
9640d47
Initial commit for macros
Rohit-Kakodkar Dec 18, 2024
516d527
Simplified template instantiations using macro
Rohit-Kakodkar Dec 18, 2024
8d449b6
Initial commit for kernels refactor
Rohit-Kakodkar Dec 18, 2024
1559205
Macro implementation frechet kernels
Rohit-Kakodkar Dec 18, 2024
a462a3f
Moved frechet derivatives computation to `specfem::medium`
Rohit-Kakodkar Dec 18, 2024
6a214d6
Added documentation
Rohit-Kakodkar Dec 18, 2024
1e8c936
Added documentation for material systems macro
Rohit-Kakodkar Dec 20, 2024
27f181d
Updated the trace plotting to only check 5 traces #s (10, 20, 30, 40…
lsawade Dec 20, 2024
48ce063
Added documentation
Rohit-Kakodkar Dec 19, 2024
e971909
Fixed pressure seismograms for anisotropic domains
Rohit-Kakodkar Dec 18, 2024
dbc1712
Update CMakeLists
icui Dec 20, 2024
86f9624
Update from 228
icui Dec 20, 2024
23fb148
Merge branch 'issue-228-anisotropy' into issue-316-further
icui Dec 20, 2024
170aa98
Update CMake
icui Dec 20, 2024
e9d105b
Merge pull request #331 from PrincetonUniversity/issue-316-further
icui Dec 20, 2024
a3efe63
Merge branch 'issue-228-anisotropy' into issue-306
icui Dec 20, 2024
9f55d20
Update error message
icui Dec 20, 2024
58de075
Element info class (templated)
icui Dec 19, 2024
d8e2e96
Merge pull request #308 from PrincetonUniversity/issue-306
icui Dec 20, 2024
a7d3595
Updated call for each macros definition
Rohit-Kakodkar Dec 20, 2024
f098ecc
Merge branch 'issue-318' into issue-260
Rohit-Kakodkar Dec 20, 2024
2aa134c
Added name feature in macro definitions
Rohit-Kakodkar Dec 20, 2024
dc66510
Merge pull request #336 from PrincetonUniversity/issue-318
Rohit-Kakodkar Dec 20, 2024
2c96cec
Property writer
icui Dec 20, 2024
a223252
Source impl with macros
Rohit-Kakodkar Dec 23, 2024
9b8722d
Working sources implementation
Rohit-Kakodkar Dec 23, 2024
8801474
removed commented code
Rohit-Kakodkar Dec 23, 2024
d73bbaf
Removed more comments
Rohit-Kakodkar Dec 23, 2024
37b7e9c
Merge branch 'issue-228-anisotropy' into issue-260
Rohit-Kakodkar Dec 23, 2024
b62eb6a
Added tests for compute sources
Rohit-Kakodkar Dec 23, 2024
538e3ed
Passing mesh and source information in test fixture
Rohit-Kakodkar Dec 23, 2024
a8b3d12
Fixed test fixture
Rohit-Kakodkar Dec 23, 2024
98cd66d
Added assembly sources constructor test
Rohit-Kakodkar Dec 23, 2024
a16a426
Rename lambdaplus2mu to kappa for acoustic
icui Dec 24, 2024
9c8cd56
Merge branch 'issue-340' into issue-307
icui Dec 24, 2024
ffe7fdd
Make kappa_inverse a derived property.
icui Dec 24, 2024
180ac6b
Merge branch 'issue-340' into issue-343
icui Dec 24, 2024
68e831b
Update formatting.
icui Dec 24, 2024
e9ad65d
Add parameter to skip material property assignment.
icui Dec 24, 2024
c30dacc
Property reader
icui Dec 26, 2024
6574ec5
revert example change
icui Dec 26, 2024
1b2b9e8
Moved content of material to medium
lsawade Dec 30, 2024
cd44fb5
Moved content of material to medium
lsawade Dec 30, 2024
94f058b
Removed the material files
lsawade Dec 30, 2024
f638f1a
Removed material files
lsawade Dec 30, 2024
33c0000
Removed material_class comments in CMakeLists.txt
lsawade Dec 30, 2024
53bd6d5
blub
lsawade Dec 30, 2024
257a11d
Moved back to previous commit
lsawade Dec 30, 2024
3051d4f
Moved material files to medium folder
lsawade Dec 30, 2024
2f321ca
Code compiles and most things are moved to medium/material etc.
lsawade Dec 30, 2024
2e8d7cb
Material is now fully incorporated into medium. But there is a a circ…
lsawade Dec 30, 2024
ca21404
Merge
lsawade Dec 30, 2024
5801c11
Updated sources to use macros
Rohit-Kakodkar Dec 30, 2024
d53f1dd
Merge pull request #338 from PrincetonUniversity/issue-260
Rohit-Kakodkar Dec 30, 2024
9430120
Merge branch 'issue-228-anisotropy' into issue-259
lsawade Dec 30, 2024
b690118
separated the acoustic_isotropic2d/acoustic_isotropic2d intro acousti…
lsawade Dec 30, 2024
a99fc06
Edited all include interfaces
lsawade Dec 30, 2024
6a6b4a4
Medium is split now
lsawade Dec 30, 2024
c3b6622
Fix GLL model argument in setup.
icui Dec 30, 2024
7f6934c
Merge pull request #342 from PrincetonUniversity/issue-340
icui Dec 30, 2024
273bec9
Updated compute wavefield to be a subview
Rohit-Kakodkar Dec 30, 2024
855d6a2
split up the elastic isotropic files
lsawade Dec 30, 2024
e387cf9
All medium files split such that we do not have a giant file for each…
lsawade Dec 30, 2024
21be154
All medium files split such that we do not have a giant file for each…
lsawade Dec 30, 2024
d512d40
All files are split, code compiles, and tests are passing!
lsawade Dec 30, 2024
43e7790
Merge branch 'issue-231' into issue-343
icui Dec 30, 2024
e1ed1d2
Update Python import
icui Dec 30, 2024
45c6ba6
Merge branch 'issue-231' into issue-343
icui Dec 30, 2024
5a5c8bd
Merge branch 'issue-228-anisotropy' into issue-259
lsawade Dec 31, 2024
ee5bd26
Merge pull request #349 from PrincetonUniversity/issue-259
lsawade Dec 31, 2024
38b7210
Removed remnant file
lsawade Dec 31, 2024
28f17a2
The code is compiling and running. Restructuring medium now to allow …
lsawade Dec 31, 2024
2cb6357
Forgot the explicit template instantiations in the source files
lsawade Dec 31, 2024
cf6e1d7
Restructured medium
lsawade Dec 31, 2024
f6e0679
Everything compiles again. Fully restructured medium.
lsawade Dec 31, 2024
5b0c96e
We are compiling
lsawade Dec 31, 2024
901911a
Added macro but not workin
lsawade Jan 2, 2025
8c02b04
Refactor reader
icui Jan 2, 2025
ff522a2
Update cmake
icui Jan 2, 2025
d4b2865
Fix setup constructor
icui Jan 2, 2025
d96e8ea
Fixed some function signature that I erroneously wrote (false/true) c…
lsawade Jan 3, 2025
cfd3a43
Completing the merge
lsawade Jan 3, 2025
7f6d405
Missed a strange change in the cmakelists no idea why that was workin…
lsawade Jan 3, 2025
6aa86fc
Merged upstream updates
lsawade Jan 3, 2025
ec918ac
2d -> dim2
lsawade Jan 3, 2025
15ec75d
Merge pull request #359 from PrincetonUniversity/issue-319
lsawade Jan 3, 2025
2a216cd
move property reader to assembly constructor.
icui Jan 3, 2025
8623532
refactor writer
icui Jan 3, 2025
b26a16b
Moved all medium specific files from compute/properties/impl to mediu…
lsawade Jan 6, 2025
d3f9836
Meging previous commit
lsawade Jan 6, 2025
803a580
Removed remnant elastic anisotropic kernel.hpp
lsawade Jan 6, 2025
a7f4a77
Moved everything from compute/kernels/impl to medium
lsawade Jan 6, 2025
f73f06a
Moved everything from compute/kernels/impl -> medium/
lsawade Jan 6, 2025
b8a98e5
Moved medium/frechet_derivative.hpp to medium/compute_frechet_derivat…
lsawade Jan 6, 2025
fc7c193
Revert "Moved medium/frechet_derivative.hpp to medium/compute_frechet…
lsawade Jan 7, 2025
b805793
Had to revert changes, because i accidentally removed and later added…
lsawade Jan 7, 2025
f4c1480
Fixed iterator_index typo
lsawade Jan 7, 2025
4d61e5a
Test store_on_host and load_on_device for properties.
icui Jan 7, 2025
6c4903b
Test reader, writer and compute_to_mesh.
icui Jan 8, 2025
3530f8f
Update formatting.
icui Jan 8, 2025
df16e57
Merge branch 'issue-228-anisotropy' into issue-354
icui Jan 9, 2025
5e025fa
Update static_cast
icui Jan 9, 2025
add12ce
Merge pull request #362 from PrincetonUniversity/issue-352
lsawade Jan 9, 2025
2401977
Merge pull request #364 from PrincetonUniversity/issue-363
lsawade Jan 9, 2025
9a74cc7
Merge branch 'issue-228-anisotropy' into issue-354
icui Jan 9, 2025
65fbb24
Merge branch 'issue-228-anisotropy' into issue-343
icui Jan 9, 2025
35b11f6
Use macro for material tests
icui Jan 9, 2025
1af33fa
Update kernel test
icui Jan 9, 2025
027f40f
Refactor reader
icui Jan 9, 2025
f1c6b25
Refactor writer
icui Jan 9, 2025
668d9b7
Merge fix.
icui Jan 10, 2025
e5400f6
Update comments.
icui Jan 10, 2025
190fe0f
Merge branch 'issue-354' into issue-343
icui Jan 10, 2025
42cdfcc
Merge branch 'issue-343' into issue-370
icui Jan 10, 2025
94212bc
Remove unused explicit template instantiation
icui Jan 10, 2025
323a42a
Add cookbook for anisotropic simulation.
icui Jan 10, 2025
2f28f49
Add trace and wavefield figures to anisotropic cookbook.
icui Jan 10, 2025
c67c457
Merge branch 'devel' into issue-228-anisotropy for easier merging in
lsawade Jan 13, 2025
4ae0832
Updated traces | Updated cookbook documentation
Rohit-Kakodkar Jan 13, 2025
e0fc554
Remove unused HDF5/native_type.cpp
icui Jan 13, 2025
02e4b58
Merge pull request #371 from PrincetonUniversity/issue-370
icui Jan 13, 2025
cafebb2
Merge pull request #378 from PrincetonUniversity/issue-374
icui Jan 13, 2025
60673dd
Fix CUDA compilation
icui Jan 13, 2025
d10bdf3
Merge pull request #348 from PrincetonUniversity/issue-343
icui Jan 14, 2025
3b92211
Add explanation for CUDA fix.
icui Jan 14, 2025
02a93f7
Merge pull request #376 from PrincetonUniversity/issue-375
icui Jan 14, 2025
10fe435
Fix scikit-build compilation error.
icui Jan 14, 2025
28751be
Update CMake config.
icui Jan 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ repos:
- id: requirements-txt-fixer
- id: trailing-whitespace
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: "v14.0.5"
rev: "v15.0.6"
hooks:
- id: clang-format
types_or: [c++]
Expand Down
98 changes: 44 additions & 54 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ option(BUILD_TESTS "Tests included" OFF)
option(BUILD_EXAMPLES "Examples included" ON)
option(ENABLE_SIMD "Enable SIMD" OFF)
option(ENABLE_PROFILING "Enable profiling" OFF)
option(SPECFEMPP_ENABLE_PYTHON "Enable Python binding" OFF)
option(SPECFEMPP_BINDING_PYTHON "Enable Python binding" OFF)
# set(CMAKE_BUILD_TYPE Release)
set(CHUNK_SIZE 32)
set(NUM_CHUNKS 1)
Expand All @@ -25,7 +25,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
# For external modules that need to be built suppress build output
set(FETCHCONTENT_QUIET TRUE)

if (SPECFEMPP_ENABLE_PYTHON)
if (SPECFEMPP_BINDING_PYTHON)
message("-- Adding -fPIC flag for Python binding.")
if(CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
set(CMAKE_CXX_FLAGS "-fp-model=precise -fPIC")
Expand All @@ -36,15 +36,15 @@ if (SPECFEMPP_ENABLE_PYTHON)
else()
set(CMAKE_CXX_FLAGS "-fPIC")
endif()
else (SPECFEMPP_ENABLE_PYTHON)
else (SPECFEMPP_BINDING_PYTHON)
if(CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
set(CMAKE_CXX_FLAGS "-fp-model=precise")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
message("-- Detected Intel classic compiler which will be deprecated soon.")
message("-- It is recommended you use IntelLLVM compiler.")
set(CMAKE_CXX_FLAGS "-diag-disable=10441 -fp-model=precise")
endif()
endif (SPECFEMPP_ENABLE_PYTHON)
endif (SPECFEMPP_BINDING_PYTHON)

# Check if MacOS
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
Expand Down Expand Up @@ -110,8 +110,9 @@ find_package(Boost 1.73.0 COMPONENTS program_options filesystem system)

if (NOT ${Boost_FOUND})
# Add boost lib sources
set(BOOST_INCLUDE_LIBRARIES program_options filesystem system algorithm tokenizer)
set(BOOST_LIBS Boost::program_options Boost::filesystem Boost::system Boost::algorithm Boost::tokenizer)
set(BOOST_INCLUDE_LIBRARIES program_options filesystem system algorithm tokenizer preprocessor)
set(BOOST_LIBS Boost::program_options Boost::filesystem Boost::system
Boost::algorithm Boost::tokenizer Boost::preprocessor)
set(BOOST_ENABLE_CMAKE ON)
set(BOOST_ENABLE_MPI OFF CACHE INTERNAL "Boost MPI Switch") # Assume outer variable
set(BOOST_ENABLE_PYTHON OFF CACHE INTERNAL "Boost Python Switch") # Assume outer variable
Expand Down Expand Up @@ -193,8 +194,6 @@ target_link_libraries(
add_library(
IO
src/IO/fortranio/fortran_io.cpp
src/IO/HDF5/native_type.cpp
# src/IO/ASCII/native_type.cpp
src/IO/sources.cpp
src/IO/receivers.cpp
src/IO/mesh.cpp
Expand Down Expand Up @@ -248,6 +247,12 @@ add_library(
src/enumerations/medium.cpp
)

target_link_libraries(
enumerations
${BOOST_LIBS}
)


add_library(
edge
src/edge/interface.cpp
Expand Down Expand Up @@ -334,7 +339,7 @@ target_link_libraries(

add_library(
read_seismogram
src/reader/seismogram.cpp
src/IO/seismogram/reader.cpp
)

target_link_libraries(
Expand All @@ -344,7 +349,8 @@ target_link_libraries(

add_library(
reader
src/reader/wavefield.cpp
src/IO/wavefield/reader.cpp
src/IO/property/reader.cpp
)

target_link_libraries(
Expand Down Expand Up @@ -420,6 +426,8 @@ target_link_libraries(
add_library(
compute
src/compute/compute_mesh.cpp
src/compute/impl/element_types.cpp
src/compute/impl/value_containers.cpp
src/compute/compute_partial_derivatives.cpp
src/compute/compute_properties.cpp
src/compute/compute_kernels.cpp
Expand Down Expand Up @@ -450,20 +458,7 @@ target_link_libraries(

add_library(
domain
src/domain/impl/boundary_conditions/none/none.cpp
src/domain/impl/boundary_conditions/none/print.cpp
src/domain/impl/boundary_conditions/dirichlet/dirichlet.cpp
src/domain/impl/boundary_conditions/dirichlet/print.cpp
src/domain/impl/boundary_conditions/stacey/stacey.cpp
src/domain/impl/boundary_conditions/stacey/mass_matrix.cpp
src/domain/impl/boundary_conditions/stacey/print.cpp
src/domain/impl/boundary_conditions/composite_stacey_dirichlet/composite_stacey_dirichlet.cpp
src/domain/impl/boundary_conditions/composite_stacey_dirichlet/mass_matrix.cpp
src/domain/impl/boundary_conditions/composite_stacey_dirichlet/print.cpp
src/domain/impl/boundary_conditions/boundary_conditions.cpp
src/domain/impl/elements/acoustic/acoustic2d.cpp
src/domain/impl/elements/elastic/elastic2d.cpp
src/domain/impl/elements/element.cpp
src/domain/impl/elements/kernel.cpp
src/domain/impl/kernels.cpp
src/domain/domain.cpp
Expand All @@ -475,40 +470,28 @@ target_link_libraries(
enumerations
)

add_library(coupled_interface
src/coupled_interface/coupled_interface.cpp
add_library(
medium
src/medium/compute_mass_matrix.cpp
src/medium/compute_stress_integrand.cpp
)

target_link_libraries(
coupled_interface
medium
Kokkos::kokkos
compute
domain
enumerations
)

# add_library(
# kernels
# src/kernels/kernels.cpp
# )

# target_link_libraries(
# kernels
# Kokkos::kokkos
# compute
# coupled_interface
# )

add_library(
frechet_derivatives
src/frechet_derivatives/impl/element_kernel/elastic_isotropic.cpp
src/frechet_derivatives/impl/element_kernel/acoustic_isotropic.cpp
src/frechet_derivatives/impl/frechet_element.cpp
src/frechet_derivatives/frechet_derivatives.cpp
add_library(coupled_interface
src/coupled_interface/coupled_interface.cpp
)

target_link_libraries(
frechet_derivatives
coupled_interface
Kokkos::kokkos
point
compute
)

add_library(
Expand All @@ -520,7 +503,6 @@ target_link_libraries(
kernels
Kokkos::kokkos
compute
frechet_derivatives
)

add_library(
Expand All @@ -546,13 +528,16 @@ target_link_libraries(
Kokkos::kokkos
timescheme
domain
kernels
medium
)

add_library(
writer
src/writer/seismogram.cpp
src/writer/wavefield.cpp
src/writer/kernel.cpp
src/IO/seismogram/writer.cpp
src/IO/wavefield/writer.cpp
src/IO/kernel/writer.cpp
src/IO/property/writer.cpp
)

target_link_libraries(
Expand Down Expand Up @@ -604,6 +589,7 @@ add_library(
src/parameter_parser/writer/wavefield.cpp
src/parameter_parser/writer/plot_wavefield.cpp
src/parameter_parser/writer/kernel.cpp
src/parameter_parser/writer/property.cpp
)

target_link_libraries(
Expand All @@ -616,6 +602,7 @@ target_link_libraries(
reader
kernels
domain
medium
solver
${BOOST_LIBS}
)
Expand All @@ -641,6 +628,7 @@ target_link_libraries(
plotter
reader
domain
medium
coupled_interface
kernels
solver
Expand Down Expand Up @@ -684,10 +672,10 @@ endif (DOXYGEN_FOUND)

if (SPECFEMPP_USE_SKBUILD AND EXISTS ${SKBUILD_SCRIPTS_DIR})
install(TARGETS specfem2d DESTINATION ${SKBUILD_SCRIPTS_DIR})
install(FILES ${CMAKE_BINARY_DIR}/xmeshfem2D DESTINATION ${SKBUILD_SCRIPTS_DIR} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE)
install(FILES ${CMAKE_BINARY_DIR}/bin/xmeshfem2D DESTINATION ${SKBUILD_SCRIPTS_DIR} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE)
endif ()

if (SPECFEMPP_ENABLE_PYTHON)
if (SPECFEMPP_BINDING_PYTHON)
find_package(Python REQUIRED COMPONENTS Interpreter Development.Module)
find_package(pybind11 CONFIG REQUIRED)
python_add_library(_core MODULE src/specfem2d.cpp WITH_SOABI)
Expand All @@ -702,15 +690,17 @@ if (SPECFEMPP_ENABLE_PYTHON)
parameter_reader
receiver_class
writer
plotter
reader
domain
medium
coupled_interface
kernels
solver
${BOOST_LIBS}
pybind11::headers
)
target_compile_definitions(_core PRIVATE SPECFEMPP_ENABLE_PYTHON)
target_compile_definitions(_core PRIVATE SPECFEMPP_BINDING_PYTHON)
target_compile_definitions(_core PRIVATE VERSION_INFO=${PROJECT_VERSION})
install(TARGETS _core DESTINATION specfempp_core)
endif (SPECFEMPP_ENABLE_PYTHON)
endif (SPECFEMPP_BINDING_PYTHON)
6 changes: 3 additions & 3 deletions docs/api/IO/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ formats for the reading of the mesh is binary, and for sources and receivers it
is yaml.

In addition to these basic read functions, there are also the two
reader and writer classes, :cpp:class:`specfem::reader::wavefield` and
:cpp:class:`specfem::writer::wavefield`, which support both HDF5 and ASCII I/O.
And, to write seismograms, we can use :cpp:class:`specfem::writer::seismogram`.
reader and writer classes, :cpp:class:`specfem::IO::wavefield_reader` and
:cpp:class:`specfem::IO::wavefield_writer`, which support both HDF5 and ASCII I/O.
And, to write seismograms, we can use :cpp:class:`specfem::IO::seismogram_writer`.
Seismogram I/O is only supported in ASCII format thus far.

The slightly-lower level functionality to read and write data to and from disk
Expand Down
2 changes: 1 addition & 1 deletion docs/api/IO/reader/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Reader

The ``reader`` class provides interfaces to read simulation data as output files.

.. doxygenclass:: specfem::writer::writer
.. doxygenclass:: specfem::IO::writer

Types of readers
----------------
Expand Down
2 changes: 1 addition & 1 deletion docs/api/IO/reader/wavefield.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@
Wavefield Reader
================

.. doxygenclass:: specfem::reader::wavefield
.. doxygenclass:: specfem::IO::wavefield_reader
:members:
2 changes: 1 addition & 1 deletion docs/api/IO/writer/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Writer

The ``writer`` class provides interfaces to write simulation data as output files.

.. doxygenclass:: specfem::writer::writer
.. doxygenclass:: specfem::IO::writer
:members:

Types of writers
Expand Down
2 changes: 1 addition & 1 deletion docs/api/IO/writer/seismogram_writer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ Seismogram Writer

The ``seismogram`` provides methods to write seismograms to a file.

.. doxygenclass:: specfem::writer::seismogram
.. doxygenclass:: specfem::IO::seismogram_writer
:members:
2 changes: 1 addition & 1 deletion docs/api/IO/writer/wavefield.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@
Wavefield Writer
================

.. doxygenclass:: specfem::writer::wavefield
.. doxygenclass:: specfem::IO::wavefield_writer
:members:
8 changes: 4 additions & 4 deletions docs/api/material/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,20 @@
Material Properties
===================

.. doxygenclass:: specfem::material::material
.. doxygenclass:: specfem::medium::material
:members:


Implementation Details
----------------------

.. doxygenclass:: specfem::material::properties
.. doxygenclass:: specfem::medium::properties
:members:

.. doxygenclass:: specfem::material::properties< specfem::element::medium_tag::elastic, specfem::element::property_tag::isotropic >
.. doxygenclass:: specfem::medium::properties< specfem::element::medium_tag::elastic, specfem::element::property_tag::isotropic >
:members:
:private-members:

.. doxygenclass:: specfem::material::properties< specfem::element::medium_tag::acoustic, specfem::element::property_tag::isotropic >
.. doxygenclass:: specfem::medium::properties< specfem::element::medium_tag::acoustic, specfem::element::property_tag::isotropic >
:members:
:private-members:
Loading
Loading