20 #ifndef GEOS_PHYSICSSOLVERS_WAVEPROPAGATION_ACOUSTICWAVEEQUATIONDG_HPP_
21 #define GEOS_PHYSICSSOLVERS_WAVEPROPAGATION_ACOUSTICWAVEEQUATIONDG_HPP_
36 using EXEC_POLICY = parallelDevicePolicy< 32 >;
37 using ATOMIC_POLICY = AtomicPolicy< EXEC_POLICY >;
40 Group *
const parent );
52 static string catalogName() {
return "AcousticDG"; }
71 integer const computeGradient )
override;
77 integer const computeGradient )
override;
96 virtual real64 computeTimeStep(
real64 & dtOut )
override;
105 static constexpr
char const * pressureNp1AtReceiversString() {
return "pressureNp1AtReceivers"; }
107 static constexpr
char const * sourceElemString() {
return "sourceElem"; }
108 static constexpr
char const * sourceRegionString() {
return "sourceRegion"; }
109 static constexpr
char const * receiverElemString() {
return "receiverElem"; }
111 } waveEquationViewKeys;
127 void computeUnknowns(
real64 const & time_n,
133 void synchronizeUnknowns(
real64 const & time_n,
139 void prepareNextTimestep(
MeshLevel & mesh );
string getCatalogName() const override
virtual void initializePreSubGroups() override
Called by Initialize() prior to initializing sub-Groups.
virtual void registerDataOnMesh(Group &meshBodies) override final
Register wrappers that contain data on the mesh objects.
virtual void postInputInitialization() override final
virtual void initializePML() override
Initialize Perfectly Matched Layer (PML) information.
virtual real32 getGlobalMinWavespeed(MeshLevel &mesh, string_array const ®ionNames) override
Get the minimum wavespeed on a mesh.
virtual void initializePostInitialConditionsPreSubGroups() override final
Called by InitializePostInitialConditions() prior to initializing sub-Groups.
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, integer const cycleNumber, DomainPartition &domain)
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
Class facilitating the representation of a multi-level discretization of a MeshBody.
localIndex size() const
Get the "size" of the group, which determines the number of elements in resizable wrappers.
virtual real64 explicitStepBackward(real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain, integer const computeGradient) override
Perform backward explicit step.
virtual real64 explicitStepForward(real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain, integer const computeGradient) override
Perform forward explicit step.
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.
Array< T, 3, PERMUTATION > array3d
Alias for 3D array.
std::string string
String type.
double real64
64-bit floating point type.
GEOS_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).
ArrayView< T, 2, USD > arrayView2d
Alias for 2D array view.
int integer
Signed integer type.
Array< T, 1 > array1d
Alias for 1D array.
LvArray::ArrayOfArrays< T, INDEX_TYPE, LvArray::ChaiBuffer > ArrayOfArrays
Array of variable-sized arrays. See LvArray::ArrayOfArrays for details.