specfem::point::displacement¶
specfem::point::velocity¶
specfem::point::acceleration¶
-
template<typename Tags>
using specfem::point::acceleration = impl::acceleration<Tags::dimension_tag, Tags::medium_tag, Tags::using_simd>¶ Point acceleration field accessor for spectral element computations.
This class provides a specialized interface for accessing and manipulating acceleration field data at individual points within spectral elements. It inherits all functionality from the base field implementation while being specifically typed for acceleration data.
The acceleration class is commonly used in time-domain wave propagation simulations where acceleration values need to be computed, stored, and accessed at quadrature points during the assembly process.
// Example: Creating 2D elastic acceleration field accessor using AccelField = specfem::point::acceleration< specfem::tags::Tags<specfem::element::dimension_tag::dim2, specfem::element::medium_tag::elastic, false>>; // No SIMD // Initialize with zero acceleration AccelField accel(0.0); // Set acceleration components accel(0) = 9.81; // x-component acceleration accel(1) = 0.0; // z-component acceleration // Use in assembly operations specfem::assembly::load_on_device(point_index, field_container, accel);
// Example: Using acceleration in time integration scheme AccelField acceleration; VelocityField velocity; DisplacementField displacement; // Load current values specfem::assembly::load_on_device(index, fields, acceleration, velocity, displacement); // Time integration (Newmark scheme) for (int icomp = 0; icomp < AccelField::components; ++icomp) { velocity(icomp) += dt * acceleration(icomp); displacement(icomp) += dt * velocity(icomp) + 0.5 * dt * dt * acceleration(icomp); } // Store updated values specfem::assembly::store_on_device(index, fields, velocity, displacement);
See also
specfem::point::velocity for velocity field accessor
See also
specfem::point::displacement for displacement field accessor
See also
specfem::point::mass_inverse for inverse mass matrix field accessor
- Template Parameters:
Tags – The tags for the element where the quadrature point is located
specfem::point::mass_inverse¶
-
template<typename Tags>
using specfem::point::mass_inverse = impl::mass_inverse<Tags::dimension_tag, Tags::medium_tag, Tags::using_simd>¶