28#
if (COUPLING_MD_PARALLEL == COUPLING_MD_YES)
31 const std::array<bool, 7> filteredValues,
int tws,
int kmax)
33 _cycleCounter(0), _spatialIndex(0), _t(0), _data(NULL), _C(NULL), _A(NULL), _A_T(NULL) {
34 int spatialSize = inputCellVector.size();
35 _data =
new Eigen::MatrixXd[dim + 1];
37 _C =
new Eigen::MatrixXd[dim + 1];
38 _A =
new Eigen::MatrixXd[dim + 1];
39 _A_T =
new Eigen::MatrixXd[dim + 1];
40 for (
unsigned int i = 0; i < dim + 1; i++) {
41 _data[i] = Eigen::MatrixXd::Constant(_timeWindowSize, spatialSize, (i == 0) ? 1 : 0);
44#if (COUPLING_MD_PARALLEL == COUPLING_MD_YES)
47 MPI_Comm_rank(comm, (
int*)&_rank);
48 MPI_Comm_size(comm, (
int*)&_commSize);
52 std::cout <<
" POD: Created Proper Orthogonal Decomposition instance." << std::endl;
54 std::cout <<
" WARNING: Regardless of configuration, "
55 "POD always filters macroscopic mass and momentum."
79 std::cout <<
" POD: Deleted Proper Orthogonal Decomposition instance." << std::endl;
86 unsigned int _timeWindowSize;
88 const unsigned int _kMax;
89 unsigned int _cycleCounter;
91 unsigned int _spatialIndex;
96 Eigen::MatrixXd* _data;
99 Eigen::MatrixXd* _A_T;
101#if (COUPLING_MD_PARALLEL == COUPLING_MD_YES)
104 unsigned int _commSize;
everything necessary for coupling operations, is defined in here
Definition AdditiveMomentumInsertion.h:15