| 188 | logInfo(rank) << "Wrote receivers in" << time << "seconds."; |
| 189 | } |
| 190 | void ReceiverWriter::init( |
| 191 | const std::string& fileNamePrefix, |
| 192 | double endTime, |
| 193 | const seissol::initializer::parameters::ReceiverOutputParameters& parameters) { |
| 194 | m_fileNamePrefix = fileNamePrefix; |
| 195 | m_receiverFileName = parameters.fileName; |
| 196 | m_samplingInterval = parameters.samplingInterval; |
| 197 | |
| 198 | if (parameters.computeRotation) { |
| 199 | derivedQuantities.push_back(std::make_shared<kernels::ReceiverRotation>()); |
| 200 | } |
| 201 | if (parameters.computeStrain) { |
| 202 | derivedQuantities.push_back(std::make_shared<kernels::ReceiverStrain>()); |
| 203 | } |
| 204 | |
| 205 | setSyncInterval(std::min(endTime, parameters.interval)); |
| 206 | Modules::registerHook(*this, ModuleHook::SimulationStart); |
| 207 | Modules::registerHook(*this, ModuleHook::SynchronizationPoint); |
| 208 | Modules::registerHook(*this, ModuleHook::Shutdown); |
| 209 | } |
| 210 | |
| 211 | void ReceiverWriter::addPoints(const seissol::geometry::MeshReader& mesh, |
| 212 | const seissol::initializer::Lut& ltsLut, |