ECOGEN 4.0
Evolutive, Compressible, Open, Genuine, Easy, N-phase
Loading...
Searching...
No Matches
CellO2GhostCartesian.h
Go to the documentation of this file.
1//
2// ,---. ,--, .---. ,--, ,---. .-. .-.
3// | .-' .' .') / .-. ) .' .' | .-' | \| |
4// | `-. | |(_) | | |(_) | | __ | `-. | | |
5// | .-' \ \ | | | | \ \ ( _) | .-' | |\ |
6// | `--. \ `-. \ `-' / \ `-) ) | `--. | | |)|
7// /( __.' \____\ )---' )\____/ /( __.' /( (_)
8// (__) (_) (__) (__) (__)
9// Official webSite: https://code-mphi.github.io/ECOGEN/
10//
11// This file is part of ECOGEN.
12//
13// ECOGEN is the legal property of its developers, whose names
14// are listed in the copyright file included with this source
15// distribution.
16//
17// ECOGEN is free software: you can redistribute it and/or modify
18// it under the terms of the GNU General Public License as published
19// by the Free Software Foundation, either version 3 of the License,
20// or (at your option) any later version.
21//
22// ECOGEN is distributed in the hope that it will be useful,
23// but WITHOUT ANY WARRANTY; without even the implied warranty of
24// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25// GNU General Public License for more details.
26//
27// You should have received a copy of the GNU General Public License
28// along with ECOGEN (file LICENSE).
29// If not, see <http://www.gnu.org/licenses/>.
30
31#ifndef CELLO2GHOSTCARTESIAN_H
32#define CELLO2GHOSTCARTESIAN_H
33
34#include "CellO2Cartesian.h"
35
36class CellInterface;
37
39{
40public:
42 CellO2GhostCartesian(int lvl); //Pour AMR
43 virtual ~CellO2GhostCartesian();
44
45 virtual void pushBackSlope();
46 virtual void popBackSlope();
47 virtual void allocate(const std::vector<AddPhys*>& addPhys);
48 virtual int getRankOfNeighborCPU() const;
49 virtual void setRankOfNeighborCPU(int rank);
50
51 virtual void computeLocalSlopes(CellInterface& cellInterfaceRef, Limiter& globalLimiter, Limiter& interfaceLimiter,
52 Limiter& globalVolumeFractionLimiter, Limiter& interfaceVolumeFractionLimiter, double& alphaCellAfterOppositeSide,
53 double& alphaCell, double& alphaCellOtherInterfaceSide, double& epsInterface);
54 virtual void createChildCell(const int& lvl);
55 virtual void getBufferSlopes(double* buffer, int& counter, const int& lvl);
56 virtual bool isCellGhost() const { return true; };
57
58protected:
60 std::vector<int> m_indexCellInterface;
61 std::vector<Phase**> m_vecPhasesSlopesGhost;
62 std::vector<Mixture*> m_mixtureSlopesGhost;
63 std::vector<double*> m_vecTransportsSlopesGhost;
64 std::vector<double> m_alphaCellAfterOppositeSide;
66private:
67};
68
69#endif // CELLO2GHOSTCARTESIAN_H
Definition CellInterface.h:52
Definition CellO2Cartesian.h:39
Definition CellO2GhostCartesian.h:39
std::vector< Phase ** > m_vecPhasesSlopesGhost
Definition CellO2GhostCartesian.h:61
virtual void allocate(const std::vector< AddPhys * > &addPhys)
Memory allocation of cell attributes.
Definition CellO2GhostCartesian.cpp:80
virtual void createChildCell(const int &lvl)
Definition CellO2GhostCartesian.cpp:222
virtual void computeLocalSlopes(CellInterface &cellInterfaceRef, Limiter &globalLimiter, Limiter &interfaceLimiter, Limiter &globalVolumeFractionLimiter, Limiter &interfaceVolumeFractionLimiter, double &alphaCellAfterOppositeSide, double &alphaCell, double &alphaCellOtherInterfaceSide, double &epsInterface)
Definition CellO2GhostCartesian.cpp:118
virtual int getRankOfNeighborCPU() const
Definition CellO2GhostCartesian.cpp:104
virtual bool isCellGhost() const
Definition CellO2GhostCartesian.h:56
virtual ~CellO2GhostCartesian()
Definition CellO2GhostCartesian.cpp:44
int m_rankOfNeighborCPU
Definition CellO2GhostCartesian.h:59
virtual void getBufferSlopes(double *buffer, int &counter, const int &lvl)
Definition CellO2GhostCartesian.cpp:231
virtual void pushBackSlope()
Definition CellO2GhostCartesian.cpp:58
std::vector< double > m_alphaCellAfterOppositeSide
Definition CellO2GhostCartesian.h:64
virtual void popBackSlope()
Definition CellO2GhostCartesian.cpp:69
std::vector< double * > m_vecTransportsSlopesGhost
Definition CellO2GhostCartesian.h:63
virtual void setRankOfNeighborCPU(int rank)
Definition CellO2GhostCartesian.cpp:111
std::vector< Mixture * > m_mixtureSlopesGhost
Definition CellO2GhostCartesian.h:62
CellO2GhostCartesian()
Definition CellO2GhostCartesian.cpp:36
std::vector< int > m_indexCellInterface
Definition CellO2GhostCartesian.h:60
Definition Limiter.h:38