ECOGEN 6.0
Evolutive, Compressible, Open, Genuine, Easy, N-phase
Loading...
Searching...
No Matches
CellO2Cartesian.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 CELLO2CARTESIAN_H
32#define CELLO2CARTESIAN_H
33
34#include "CellO2.h"
35
36class CellInterface;
37
38class CellO2Cartesian : public CellO2
39{
40 public:
42 CellO2Cartesian(int lvl);
43 ~CellO2Cartesian() override;
44
45 void computeLocalSlopes(CellInterface& cellInterfaceRef,
46 Limiter& globalLimiter,
47 Limiter& interfaceLimiter,
48 Limiter& globalVolumeFractionLimiter,
49 Limiter& interfaceVolumeFractionLimiter,
50 double& alphaCellAfterOppositeSide,
51 double& alphaCell,
52 double& alphaCellOtherInterfaceSide,
53 double& epsInterface) override;
54
55 void computeLocalSlopesLimite(CellInterface& cellInterfaceRef,
56 Limiter& globalLimiter,
57 Limiter& interfaceLimiter,
58 Limiter& globalVolumeFractionLimiter,
59 Limiter& interfaceVolumeFractionLimiter,
60 double& epsInterface) override;
61
62 void computeLocalSlopesPeriodic(CellInterface& cellInterfaceRef,
63 Limiter& globalLimiter,
64 Limiter& interfaceLimiter,
65 Limiter& globalVolumeFractionLimiter,
66 Limiter& interfaceVolumeFractionLimiter,
67 double& alphaCellAfterOppositeSide,
68 double& alphaCell,
69 double& alphaCellOtherInterfaceSide,
70 double& epsInterface) override;
71
72 //Pour methode AMR
73 void createChildCell(const int& lvl) override;
74
75 //Pour methodes ordre 2 parallele
76 void getBufferSlopes(double* /*buffer*/, int& /*counter*/, const int& /*lvl*/) override
77 {
78 Errors::errorMessage("getBufferSlopes not available for CellO2Cartesian");
79 };
80 void fillBufferSlopes(double* buffer, int& counter, const int& lvl, const int& neighbour) const override;
81};
82
83#endif
Definition CellInterface.h:48
void computeLocalSlopesPeriodic(CellInterface &cellInterfaceRef, Limiter &globalLimiter, Limiter &interfaceLimiter, Limiter &globalVolumeFractionLimiter, Limiter &interfaceVolumeFractionLimiter, double &alphaCellAfterOppositeSide, double &alphaCell, double &alphaCellOtherInterfaceSide, double &epsInterface) override
Definition CellO2Cartesian.cpp:375
void getBufferSlopes(double *, int &, const int &) override
Definition CellO2Cartesian.h:76
CellO2Cartesian()
Definition CellO2Cartesian.cpp:6
~CellO2Cartesian() override
Definition CellO2Cartesian.cpp:14
void computeLocalSlopesLimite(CellInterface &cellInterfaceRef, Limiter &globalLimiter, Limiter &interfaceLimiter, Limiter &globalVolumeFractionLimiter, Limiter &interfaceVolumeFractionLimiter, double &epsInterface) override
Definition CellO2Cartesian.cpp:239
void computeLocalSlopes(CellInterface &cellInterfaceRef, Limiter &globalLimiter, Limiter &interfaceLimiter, Limiter &globalVolumeFractionLimiter, Limiter &interfaceVolumeFractionLimiter, double &alphaCellAfterOppositeSide, double &alphaCell, double &alphaCellOtherInterfaceSide, double &epsInterface) override
Definition CellO2Cartesian.cpp:18
void fillBufferSlopes(double *buffer, int &counter, const int &lvl, const int &neighbour) const override
Definition CellO2Cartesian.cpp:461
void createChildCell(const int &lvl) override
Definition CellO2Cartesian.cpp:455
CellO2()
Definition CellO2.cpp:36
static void errorMessage(const std::string &message_)
Definition Errors.cpp:56
Definition Limiter.h:38