21 #ifndef SRC_CORECOMPONENTS_PHYSICSSOLVERS_WAVEPROPAGATION_ELASTICWAVEEQUATIONSEM_HPP_ 
   22 #define SRC_CORECOMPONENTS_PHYSICSSOLVERS_WAVEPROPAGATION_ELASTICWAVEEQUATIONSEM_HPP_ 
   37   using EXEC_POLICY = parallelDevicePolicy<  >;
 
   38   using ATOMIC_POLICY = parallelDeviceAtomic;
 
   41                           Group * 
const parent );
 
   55   static string catalogName() { 
return "ElasticSEM"; }
 
   76                                       integer const computeGradient ) 
override;
 
   82                                        integer const computeGradient ) 
override;
 
  106   virtual real64 computeTimeStep( 
real64 & dtOut ) 
override;
 
  115                         real64 const eventProgress,
 
  120     static constexpr 
char const * displacementXNp1AtReceiversString() { 
return "displacementXNp1AtReceivers"; }
 
  121     static constexpr 
char const * displacementYNp1AtReceiversString() { 
return "displacementYNp1AtReceivers"; }
 
  122     static constexpr 
char const * displacementZNp1AtReceiversString() { 
return "displacementZNp1AtReceivers"; }
 
  124     static constexpr 
char const * dasSignalNp1AtReceiversString() { 
return "dasSignalNp1AtReceivers"; }
 
  126     static constexpr 
char const * sourceForceString() { 
return "sourceForce"; }
 
  127     static constexpr 
char const * sourceMomentString() { 
return "sourceMoment"; }
 
  129     static constexpr 
char const * useVtiString() { 
return "useVTI"; }
 
  131     static constexpr 
char const * useTtiString() { 
return "useTTI"; }
 
  133   } waveEquationViewKeys;
 
  149   void computeUnknowns( 
real64 const & time_n,
 
  155   void synchronizeUnknowns( 
real64 const & time_n,
 
  161   void prepareNextTimestep( 
MeshLevel & mesh );
 
  201   virtual 
void initializePML() override;
 
  243   real64 m_rotationMatrix[ 3 ][ 3 ]{};
 
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
 
static string coupledSolverAttributePrefix()
String used to form the solverName used to register solvers in CoupledSolver.
 
virtual void registerDataOnMesh(Group &meshBodies) override final
Register wrappers that contain data on the mesh objects.
 
virtual void cleanup(real64 const time_n, integer const cycleNumber, integer const eventCounter, real64 const eventProgress, DomainPartition &domain) override
Overridden from ExecutableGroup. Used to write last seismogram if needed.
 
real64 explicitStepInternal(real64 const &time_n, real64 const &dt, DomainPartition &domain)
 
string getCatalogName() const override
 
virtual void initializePostInitialConditionsPreSubGroups() override final
Called by InitializePostInitialConditions() prior to initializing sub-Groups.
 
void addSourceToRightHandSide(real64 const &time_n, arrayView1d< real32 > const rhsx, arrayView1d< real32 > const rhsy, arrayView1d< real32 > const rhsz)
Multiply the precomputed term by the Ricker and add to the right-hand side.
 
virtual void initializePreSubGroups() override
Called by Initialize() prior to initializing sub-Groups.
 
void computeDAS(arrayView2d< real32 > const xCompRcv, arrayView2d< real32 > const yCompRcv, arrayView2d< real32 > const zCompRcv)
Compute DAS data as a difference of the field at two points, from the appropriate three-component rec...
 
virtual void postInputInitialization() override final
 
virtual real32 getGlobalMinWavespeed(MeshLevel &mesh, string_array const ®ionNames) override
Get the minimum wavespeed on a mesh (S-wavespeed in the elastic case)
 
real32 computeGlobalMinQFactor()
Computes the minimum attenuation quality factor over all the mesh. This is useful for computing anela...
 
Class facilitating the representation of a multi-level discretization of a MeshBody.
 
virtual real64 explicitStepForward(real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain, integer const computeGradient) override
Perform forward explicit step.
 
virtual real64 explicitStepBackward(real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain, integer const computeGradient) override
Perform backward explicit step.
 
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
 
stdVector< string > string_array
A 1-dimensional array of geos::string types.
 
float real32
32-bit floating point type.
 
Array< T, 2, PERMUTATION > array2d
Alias for 2D array.
 
std::string string
String type.
 
double real64
64-bit floating point type.
 
ArrayView< T, 2, USD > arrayView2d
Alias for 2D array view.
 
int integer
Signed integer type.