specfem::data_access::DataClassType¶
-
enum specfem::data_access::DataClassType¶
Data type classification for spectral element simulation components.
Categorizes different data types used throughout SPECFEM simulations to enable type-safe data access patterns and proper memory management strategies.
Used by data containers and access policies to determine appropriate handling for mesh indices, physical properties, field variables, and computational kernels.
Each enum value is also associated with a type trait checker to facilitate compile-time type detection and static assertions. Traits are typically evaluated on container/accessor types that expose a
data_classmember. For example:struct PropertiesAccessor { static constexpr specfem::data_access::DataClassType data_class = specfem::data_access::DataClassType::properties; }; static_assert( specfem::data_access::is_properties<PropertiesAccessor>::value, "Accessor is not marked as properties" );
Values:
-
enumerator index¶
Element and point indices.
-
enumerator edge_index¶
Edge connectivity indices.
-
enumerator face_index¶
Face connectivity indices (3D)
-
enumerator assembly_index¶
Global assembly indices.
-
enumerator mapped_index¶
Mapped/transformed indices.
-
enumerator properties¶
Material properties (density, moduli)
-
enumerator kernels¶
Computational kernels and sensitivities.
-
enumerator jacobian_matrix¶
Geometric transformation matrices.
-
enumerator field_derivatives¶
Spatial derivatives of fields.
-
enumerator displacement¶
Displacement field components.
-
enumerator velocity¶
Velocity field components.
-
enumerator acceleration¶
Acceleration field components.
-
enumerator mass_matrix¶
Mass matrix coefficients.
-
enumerator source¶
Source terms and excitations.
-
enumerator stress¶
Stress tensor components.
-
enumerator stress_integrand¶
Stress integration quantities.
-
enumerator boundary¶
Boundary condition data.
-
enumerator boundary
Boundary element storage.
-
enumerator lagrange_derivative¶
Lagrange derivative operators.
-
enumerator weights¶
Quadrature weights.
-
enumerator transfer_function_self¶
Self-coupling transfer functions.
-
enumerator transfer_function_coupled¶
Cross-coupling transfer functions.
-
enumerator coupled_coordinates¶
Cross-coupling nodal coordinates.
-
enumerator intersection_factor¶
Interface intersection factors.
-
enumerator intersection_normal¶
Interface normal vectors.
-
enumerator nonconforming_interface¶
Non-conforming mesh interfaces.
-
enumerator conforming_interface¶
Conforming mesh interfaces.
-
enumerator global_coordinates¶
Global coordinate data.
-
enumerator attenuation¶
Combined attenuation factors + memory variables.
-
enumerator index¶