MonteCarloTransport.h 1.03 KB
Newer Older
1
2
3
4
5
#ifndef MLMC_MONTECARLOTRANSPORT_HPP
#define MLMC_MONTECARLOTRANSPORT_HPP

#include "MonteCarlo.h"
#include "assemble/DGTransportAssemble.h"
niklas.baumgarten's avatar
niklas.baumgarten committed
6
#include "TimeIntegrator.h"
7

8

9
class MonteCarloTransport : public MonteCarlo {
10
private:
11
    void solveTransport(int l, double &valueQ, double &cost, Vector &solution);
12

13
14
public:
    DGTransportAssemble *assemble;
15
    TimeSeries timeSeries;
16
17
18

    CellMatrixGraphs solMatrixGraphs;

19
20
21
    Transfer *transfer;

    MonteCarloTransport(int l, int dM, bool baseLevel, Meshes *meshes,
22
23
24
25
                        StochasticField *stochFields, DGTransportAssemble *assemble) :
        MonteCarlo(l, dM, baseLevel, meshes, stochFields),
        assemble(assemble),
        solMatrixGraphs(*meshes, *assemble->disc) {
26

27
28
//        transfer = new MatrixTransfer(*assemble);
//        transfer->Construct((solMatrixGraphs)[l - pLevel], (solMatrixGraphs)[l - pLevel - 1]);
29
30
    }

31
    ~MonteCarloTransport() {
32
33
34
35
        transfer->Destruct();
        delete transfer;
    }

36
    void Method() override;
37
38
39
};

#endif //MLMC_MONTECARLOTRANSPORT_HPP