MAIA bb96820c
Multiphysics at AIA
Loading...
Searching...
No Matches
acapostprocessing.h
Go to the documentation of this file.
1// Copyright (C) 2024 The m-AIA AUTHORS
2//
3// This file is part of m-AIA (https://git.rwth-aachen.de/aia/m-AIA/m-AIA)
4//
5// SPDX-License-Identifier: LGPL-3.0-only
6
7#ifndef ACAPOSTPROCESSING_H_
8#define ACAPOSTPROCESSING_H_
9
13 protected:
14 MPI_Comm m_mpiComm;
21 const MFloat* m_coords = nullptr;
22 const MFloat* m_frequencies = nullptr;
23
24 public:
25 AcaPostProcessing(const MPI_Comm comm) : m_mpiComm(comm) { MPI_Comm_rank(m_mpiComm, &m_rank); }
26 virtual ~AcaPostProcessing() = default;
27 virtual void init_() = 0;
28 void init(const MInt noObservers, const MInt noGlobalObservers, const MInt offsetObserver, const MInt noSamples,
29 const MFloat* const coords, const MFloat* const frequencies, const MString outPath) {
30 m_noObservers = noObservers;
31 m_noGlobalObservers = noGlobalObservers;
32 m_offsetObserver = offsetObserver;
33 m_noSamples = noSamples;
34 m_coords = coords;
35 m_frequencies = frequencies;
36 m_outPath = outPath;
37 init_();
38 }
39 virtual void calc(const MInt observerId, const MFloat* const data, const MFloat* const dataComplex = nullptr) = 0;
40 virtual void finish() = 0;
41};
42#endif // ACAPOSTPROCESSING_H_
Abstract class for ACA post processing.
MInt m_noGlobalObservers
virtual void init_()=0
virtual void calc(const MInt observerId, const MFloat *const data, const MFloat *const dataComplex=nullptr)=0
virtual ~AcaPostProcessing()=default
MInt m_offsetObserver
const MFloat * m_coords
void init(const MInt noObservers, const MInt noGlobalObservers, const MInt offsetObserver, const MInt noSamples, const MFloat *const coords, const MFloat *const frequencies, const MString outPath)
MInt m_noObservers
MInt m_noSamples
const MFloat * m_frequencies
MString m_outPath
virtual void finish()=0
AcaPostProcessing(const MPI_Comm comm)
MPI_Comm m_mpiComm
MInt m_rank
int32_t MInt
Definition: maiatypes.h:62
std::basic_string< char > MString
Definition: maiatypes.h:55
double MFloat
Definition: maiatypes.h:52