Skip to content

Commit

Permalink
Merge pull request #290 from PrincetonUniversity/issue-289
Browse files Browse the repository at this point in the history
Added anisotropic template instantiations
  • Loading branch information
Rohit-Kakodkar authored Dec 13, 2024
2 parents 26df960 + 3aed0ce commit b07ec56
Show file tree
Hide file tree
Showing 6 changed files with 226 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -114,3 +114,47 @@ specfem::domain::impl::boundary_conditions::impl_apply_boundary_conditions<
specfem::element::medium_tag::elastic> &,
PointAccelerationType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &);

template KOKKOS_FUNCTION void
specfem::domain::impl::boundary_conditions::impl_apply_boundary_conditions<
PointBoundaryType<
false, specfem::element::boundary_tag::composite_stacey_dirichlet>,
PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, false>,
PointVelocityType<false, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic>,
PointAccelerationType<false, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> >(
const specfem::domain::impl::boundary_conditions::
composite_stacey_dirichlet_type &,
const PointBoundaryType<
false, specfem::element::boundary_tag::composite_stacey_dirichlet> &,
const PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, false>
&,
const PointVelocityType<false, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &,
PointAccelerationType<false, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &);

template KOKKOS_FUNCTION void
specfem::domain::impl::boundary_conditions::impl_apply_boundary_conditions<
PointBoundaryType<
true, specfem::element::boundary_tag::composite_stacey_dirichlet>,
PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, true>,
PointVelocityType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic>,
PointAccelerationType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> >(
const specfem::domain::impl::boundary_conditions::
composite_stacey_dirichlet_type &,
const PointBoundaryType<
true, specfem::element::boundary_tag::composite_stacey_dirichlet> &,
const PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, true>
&,
const PointVelocityType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &,
PointAccelerationType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &);
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,37 @@ specfem::domain::impl::boundary_conditions::impl_compute_mass_matrix_terms<
const PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::isotropic, true> &,
PointMassMatrixType<specfem::element::medium_tag::elastic, true> &);

template void
specfem::domain::impl::boundary_conditions::impl_compute_mass_matrix_terms<
PointBoundaryType<
specfem::element::boundary_tag::composite_stacey_dirichlet, false>,
PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, false>,
PointMassMatrixType<specfem::element::medium_tag::elastic, false> >(
const specfem::domain::impl::boundary_conditions::
composite_stacey_dirichlet_type &,
const type_real dt,
const PointBoundaryType<
specfem::element::boundary_tag::composite_stacey_dirichlet, false> &,
const PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, false>
&,
PointMassMatrixType<specfem::element::medium_tag::elastic, false> &);

template void
specfem::domain::impl::boundary_conditions::impl_compute_mass_matrix_terms<
PointBoundaryType<
specfem::element::boundary_tag::composite_stacey_dirichlet, true>,
PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, true>,
PointMassMatrixType<specfem::element::medium_tag::elastic, true> >(
const specfem::domain::impl::boundary_conditions::
composite_stacey_dirichlet_type &,
const type_real dt,
const PointBoundaryType<
specfem::element::boundary_tag::composite_stacey_dirichlet, true> &,
const PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, true>
&,
PointMassMatrixType<specfem::element::medium_tag::elastic, true> &);
44 changes: 44 additions & 0 deletions src/domain/impl/boundary_conditions/dirichlet/dirichlet.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -113,3 +113,47 @@ specfem::domain::impl::boundary_conditions::impl_apply_boundary_conditions<
specfem::element::medium_tag::elastic> &,
PointAccelerationType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &);

template void
specfem::domain::impl::boundary_conditions::impl_apply_boundary_conditions<
PointBoundaryType<false,
specfem::element::boundary_tag::acoustic_free_surface>,
PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, false>,
PointVelocityType<false, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic>,
PointAccelerationType<false, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> >(
const specfem::domain::impl::boundary_conditions::acoustic_free_surface_type
&,
const PointBoundaryType<
false, specfem::element::boundary_tag::acoustic_free_surface> &,
const PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, false>
&,
const PointVelocityType<false, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &,
PointAccelerationType<false, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &);

template void
specfem::domain::impl::boundary_conditions::impl_apply_boundary_conditions<
PointBoundaryType<true,
specfem::element::boundary_tag::acoustic_free_surface>,
PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, true>,
PointVelocityType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic>,
PointAccelerationType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> >(
const specfem::domain::impl::boundary_conditions::acoustic_free_surface_type
&,
const PointBoundaryType<
true, specfem::element::boundary_tag::acoustic_free_surface> &,
const PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, true>
&,
const PointVelocityType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &,
PointAccelerationType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &);
38 changes: 38 additions & 0 deletions src/domain/impl/boundary_conditions/none/none.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,3 +101,41 @@ specfem::domain::impl::boundary_conditions::impl_apply_boundary_conditions<
specfem::element::medium_tag::elastic> &,
PointAccelerationType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &);

template void
specfem::domain::impl::boundary_conditions::impl_apply_boundary_conditions<
PointBoundaryType<false, specfem::element::boundary_tag::none>,
PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, false>,
PointVelocityType<false, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic>,
PointAccelerationType<false, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> >(
const specfem::domain::impl::boundary_conditions::none_type &,
const PointBoundaryType<false, specfem::element::boundary_tag::none> &,
const PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, false>
&,
const PointVelocityType<false, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &,
PointAccelerationType<false, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &);

template void
specfem::domain::impl::boundary_conditions::impl_apply_boundary_conditions<
PointBoundaryType<true, specfem::element::boundary_tag::none>,
PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, true>,
PointVelocityType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic>,
PointAccelerationType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> >(
const specfem::domain::impl::boundary_conditions::none_type &,
const PointBoundaryType<true, specfem::element::boundary_tag::none> &,
const PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, true>
&,
const PointVelocityType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &,
PointAccelerationType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &);
28 changes: 28 additions & 0 deletions src/domain/impl/boundary_conditions/stacey/mass_matrix.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,31 @@ specfem::domain::impl::boundary_conditions::impl_compute_mass_matrix_terms<
const PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::isotropic, true> &,
PointMassMatrixType<specfem::element::medium_tag::elastic, true> &);

template KOKKOS_FUNCTION void
specfem::domain::impl::boundary_conditions::impl_compute_mass_matrix_terms<
PointBoundaryType<specfem::element::boundary_tag::stacey, false>,
PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, false>,
PointMassMatrixType<specfem::element::medium_tag::elastic, false> >(
const specfem::domain::impl::boundary_conditions::stacey_type &,
const type_real dt,
const PointBoundaryType<specfem::element::boundary_tag::stacey, false> &,
const PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, false>
&,
PointMassMatrixType<specfem::element::medium_tag::elastic, false> &);

template KOKKOS_FUNCTION void
specfem::domain::impl::boundary_conditions::impl_compute_mass_matrix_terms<
PointBoundaryType<specfem::element::boundary_tag::stacey, true>,
PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, true>,
PointMassMatrixType<specfem::element::medium_tag::elastic, true> >(
const specfem::domain::impl::boundary_conditions::stacey_type &,
const type_real dt,
const PointBoundaryType<specfem::element::boundary_tag::stacey, true> &,
const PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, true>
&,
PointMassMatrixType<specfem::element::medium_tag::elastic, true> &);
38 changes: 38 additions & 0 deletions src/domain/impl/boundary_conditions/stacey/stacey.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -102,3 +102,41 @@ specfem::domain::impl::boundary_conditions::impl_apply_boundary_conditions<
specfem::element::medium_tag::elastic> &,
PointAccelerationType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &);

template KOKKOS_FUNCTION void
specfem::domain::impl::boundary_conditions::impl_apply_boundary_conditions<
PointBoundaryType<false, specfem::element::boundary_tag::stacey>,
PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, false>,
PointVelocityType<false, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic>,
PointAccelerationType<false, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> >(
const specfem::domain::impl::boundary_conditions::stacey_type &,
const PointBoundaryType<false, specfem::element::boundary_tag::stacey> &,
const PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, false>
&,
const PointVelocityType<false, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &,
PointAccelerationType<false, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &);

template KOKKOS_FUNCTION void
specfem::domain::impl::boundary_conditions::impl_apply_boundary_conditions<
PointBoundaryType<true, specfem::element::boundary_tag::stacey>,
PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, true>,
PointVelocityType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic>,
PointAccelerationType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> >(
const specfem::domain::impl::boundary_conditions::stacey_type &,
const PointBoundaryType<true, specfem::element::boundary_tag::stacey> &,
const PointPropertyType<specfem::element::medium_tag::elastic,
specfem::element::property_tag::anisotropic, true>
&,
const PointVelocityType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &,
PointAccelerationType<true, specfem::dimension::type::dim2,
specfem::element::medium_tag::elastic> &);

0 comments on commit b07ec56

Please sign in to comment.