MCPcopy Create free account
hub / github.com/SeisSol/SeisSol / computeSources

Method computeSources

src/Solver/time_stepping/TimeCluster.cpp:196–226  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

194}
195
196void seissol::time_stepping::TimeCluster::computeSources() {
197#ifdef ACL_DEVICE
198 device.api->putProfilingMark("computeSources", device::ProfilingColors::Blue);
199#endif
200 SCOREP_USER_REGION( "computeSources", SCOREP_USER_REGION_TYPE_FUNCTION )
201
202 // Return when point sources not initialized. This might happen if there
203 // are no point sources on this rank.
204 auto* pointSourceCluster = [&]() -> kernels::PointSourceCluster* {
205#ifdef ACL_DEVICE
206 if (executor == Executor::Device) {
207 return m_sourceCluster.device.get();
208 }
209 else {
210 return m_sourceCluster.host.get();
211 }
212#else
213 return m_sourceCluster.host.get();
214#endif
215 }();
216
217 if (pointSourceCluster) {
218 m_loopStatistics->begin(m_regionComputePointSources);
219 auto timeStepSizeLocal = timeStepSize();
220 pointSourceCluster->addTimeIntegratedPointSources(ct.correctionTime, ct.correctionTime + timeStepSizeLocal, streamRuntime);
221 m_loopStatistics->end(m_regionComputePointSources, pointSourceCluster->size(), m_profilingId);
222 }
223#ifdef ACL_DEVICE
224 device.api->popLastProfilingMark();
225#endif
226}
227
228void seissol::time_stepping::TimeCluster::computeDynamicRupture( seissol::initializer::Layer& layerData ) {
229 if (layerData.getNumberOfCells() == 0) return;

Callers

nothing calls this directly

Calls 5

getMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected