v0.3.0-release-candidate
Pre-release
Pre-release
·
13 commits
to devel
since this release
What's Changed
This release contains a few major updates:
- Python Bindings
- Anisotropy Implementation
- Refactor for easier implementation of new media
- Visualization using VTK
- New examples and cookbooks
- meshfem3d integration (note: no IO or simulation support yet)
- macOS support
Details for each of these are below
New Contributors
- @int-ptr-ptr made their first contribution in #138
- @sirpipat made their first contribution in #154
Changes
Python Bindings
- Enabling
pip install
by @icui in #174 - Hello world for pybind by @icui in #186
- Basic Python executable by @icui in #197
- Remove [build-system] by @icui in #235
- Final implementation by @icui in #230
- Allow for receiver and source definition from Python by @lsawade in #397
- Capture Ctrl-C with Python binding by @icui in #415
Anisotropic media
PRs for the anisotropy implementation tracked by:
- Implemented new anisotropic material::properties and the allowed for reading by @lsawade in #263
- Implements point properties for anisotropic media by @Rohit-Kakodkar in #267
- Implement anisotropic properties_container. by @icui in #269
- Implements test for
specfem::mesh::materials
by @Rohit-Kakodkar in #273 - Added the anisotropic medium header by @lsawade in #271
- Added anisotropic receivers by @Rohit-Kakodkar in #284
- Added anisotropic mass matrix computations by @Rohit-Kakodkar in #286
- Added template specializations for acoustic and elastic kernels class by @Rohit-Kakodkar in #291
- Added anisotropic template instantiations by @Rohit-Kakodkar in #290
- Added method to compute anisotropic stacey traction by @Rohit-Kakodkar in #288
- Added anisotropic sources by @Rohit-Kakodkar in #283
- Added anisotropic tags to element ordering by @Rohit-Kakodkar in #282
- Implement kernels_container by @icui in #294
- Implementation of Frechet derivatives by @lsawade in #298
- Updated the driver function for frechet derivatives + fixes Tromp2005 snakefile.in by @lsawade in #304
- kernel writer by @icui in #300
- Fixed seg faults on tests | Fixed wavefield plotting by @Rohit-Kakodkar in #312
Visualization
- Added display section to runtime configuration by @Rohit-Kakodkar in #129
- Added write method for the plotter by @Rohit-Kakodkar in #131
- Wavefield access at x-th timestep by @Rohit-Kakodkar in #135
- Implements plotting routines for wavefields by @Rohit-Kakodkar in #139
- Added display section to docs by @Rohit-Kakodkar in #171
- Add visualization docs by @Rohit-Kakodkar in #180
- Live Screen Update capability by @Rohit-Kakodkar in #191
New Cookbooks & Examples
- Fluid-Solid Bathymetry by @sirpipat in #154 and #241 by @Rohit-Kakodkar
- Implement Anisotropic Crystal example by @lsawade in #308
- Solid-Solid-interface (Computational Seismology homework 9) cookbook and restructure Cookbooks by @lsawade in #385
New features added capabilities
- Pressure Wavefield by @Rohit-Kakodkar in #165
- Pressure Seismogram by @int-ptr-ptr in #138
- Pressure Seismogram fixes by @Rohit-Kakodkar in #229
- Pressure seismogram fixes by @Rohit-Kakodkar in #322
- Adds first derivative of the Gaussian as a source_time_function by @lsawade in #382
MacOS Support
- Compilation on MacOS by @lsawade in #166
- Implements seamless plotting using VTK on MacOS by @lsawade in #237
- Makes VTK an optional dependency in
CMakeLists.txt
by @Rohit-Kakodkar in #265
Other Updates
- Restructure IO routines by @lsawade in #157
- General
CMakeLists.txt
updates - CI Updates
- Updated Jenkins artifact folder by @Rohit-Kakodkadr in #184
- Jenkins fix for GNU tests by @Rohit-Kakodkar in #219
- Fix Boost installation to remove non-official dependency by @lsawade in #358
- Fixing docker image creation by @lsawade in #356
- Fixed clang-format issue for header files. by @lsawade in #380
- Updated boost and kokkos modules by @Rohit-Kakodkar in #429
- Generate
sources.yaml
for bathymetry example usingjinja
by @Rohit-Kakodkar in #240 - Generate required files for examples/Tromp2005 from CMake by @icui in #393
Integrating Meshfem3D
- Mesh Struct restructuring for 3D by @Rohit-Kakodkar in #227
- Meshfem3D integration
- fortran/meshfem3d by @lsawade in #350
- Implements command line parser for the 3D mesher by @Rohit-Kakodkar in #388
Refactor for easier implementation of new media
- Get element indices of a kernel medium by @icui in #315
- move the location of meshfem2d to fortran/meshfem2d by @lsawade in #329
- Moves frechet derivatives to medium namespace by @Rohit-Kakodkar in #321
- Create parent class for compute::kernels and compute::properties by @icui in #331
- Updated call for each macros definition by @Rohit-Kakodkar in #336
- Implemented
meshfem3d/generate_databases
by @lsawade in #334 - Refactor sources by @Rohit-Kakodkar in #338
- Rename lambdaplus2mu to kappa for acoustic by @icui in #342
- Moving content of include/material to include/medium by @lsawade in #349
- Mass matrix by @lsawade in #359
- Issue 352 - Refactoring compute/{kernels,properties}/impl/{}_container -> medium/{kernels,properties}_container by @lsawade in #362
- Issue 363 - Move medium/frechet... to medium/compute_frechet by @lsawade in #364
- Compute receiver refactor by @Rohit-Kakodkar in #366
- Receiver kernel refactor by @Rohit-Kakodkar in #367
- Refactor reader / writer to IO namespace by @icui in #371
- Add cookbook for anisotropic simulation. by @icui in #378
- Property reader / writer by @icui in #348
- Remove unused explicit template instantiation and fix CUDA compilation by @icui in #376
- Issue 369 - Adds homework 9 from JT's class by @lsawade in #383
- issue 351 - Updates to the receiver kernel by @Rohit-Kakodkar in #405
- Issue 278 - Refactor of domain folder. by @Rohit-Kakodkar in #413
- Remove sprintf by @icui in #410
- Add more tests for compute_properties by @icui in #408
- Allow multiple receivers in an element. by @icui in #425
- Allow for multiple sources by @lsawade in #427
Full Changelog: v0.2.0...v0.3.0