You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the IO/mesh/impl/read_materials.cpp a section needs to be added to
add the correct values to the new material this is done in the local function read_materials(), which returns the specification. This would use the
implemented material class from above to populate the materials
Update naming in the kernel computation. It sounds like adjoint and backward wavefield are named incorrectly switched, and it just works because stiffness matrix is symmetric. rho_kl = dot(adjoint_field.acceleration, backward_field.displacement);
Compare:
So the naming is confusing.
We currently assume that every material systems have implmenetation for all property types. Which is not the case i.e. (acoustic, anisotropic) is not a valid combination.
Reading the materials and adding a new material
In the
IO/mesh/impl/read_materials.cpp
a section needs to be added toadd the correct values to the new material this is done in the local function
read_materials()
, which returns the specification. This would use theimplemented material class from above to populate the materials
Add Anisotropic Material and Read it
include/enumerations/medium.hpp
Add anisotropic mediumIO/mesh/impl/read_materials.cpp::read_materials()
from line73
ishinclude/mesh/materials/materials.hpp
Add new material to the struct/class #258Move and implement anisotropic specfem::compute::impl::properties_container to specfem::medium::compute_properties #251
specfem::medium::compute_properties< ... >
should store least possible implementation of the data required for computation of forces as Kokkos views.Move and implement specfem::point::properties to specfem::medium::point_properties #250
specfem::medium::point_properties< ... >
should hold all the data required for computationsspecfem::material::properties
(->specfem::medium::properties
) needsspecfem::medium::point_properties get_properties(...)
method.specfem::compute::compute_mesh
- has to be updated as well due to the new tags. Refactor below #281Update
specfem::domain::impl::sources
- Add anisotropic sources case. We need to refactor this - see below #279Implement
specfem::domain::impl::receivers
to implement anisotropic receivers. Refactor to usecompute_wavefield
routine. See below #280Implement Wave propagation physics
Done aboveinclude/compute/properties/impl/properties_container.hpp
include/medium/elastic_anisotropic2d/elastic_anisotropic2d.hpp
#270include/domain/impl/kernels.hpp
Need refactor. See #278 #276Implement kernels
include/compute/kernels/kernels.hpp
#274include/compute/kernels/kernels/impl/kernels_container.hpp
#275include/writer/kernel.tpp
#299Implement frechet derivatives
frechet_derivatives/impl/element_kernel/elastic_anisotropic.hpp
#295include/point/kernels.hpp
#297rho_kl = dot(adjoint_field.acceleration, backward_field.displacement);
Compare:
So the naming is confusing.
Examples
Refactors
Refactor
domain class
Refactor
sources class
acceleration(i) = stf(i) * lagrange_interpolant(i)
for all components #339Refactor
receivers class
specfem::medium::compute_wavefield
Refactor
medium
Move and implement anisotropy to specfem::medium::properties #259
specfem::medium::properties
should store exactly the values that are read from the mesh databaseMove
specfem::domain::impl::element::impl_mass_matrix
tospecfem::medium::mass_matrix
#319Move
propeties_container
kernels_container
tomedium
namespace;Refactor frechet kernels
frechet_kernels.hpp \ .cpp
#318specfem::frechet_derivatives::impl_compute_frechet_derivatives
tospecfem::medium::compute_frechet_derivatives
#320Refactor properties container and kernels container
specfem::compute::impl::properties_container
tospecfem::medium::compute_properties
specfem::compute::impl::kernels_container
tospecfem::medium::compute_kernels
specfem::point::properties
public parent ofspecfem::medium::point_properties
specfem::point::kernels
public parent ofspecfem::medium::point_kernels
Refactor
compute_mesh
Refactor
src/domain/impl/boundary_conditions
cpp
files so that explicit template instantiations are auto generated #313The text was updated successfully, but these errors were encountered: