BG_Flood  0.8
Documentation (Work-in-progress)
Adaptation.h
Go to the documentation of this file.
1 
2 #ifndef ADAPTATION_H
3 #define ADAPTATION_H
4 
5 #include "General.h"
6 #include "Param.h"
7 #include "Write_txtlog.h"
8 #include "Util_CPU.h"
9 #include "Arrays.h"
10 #include "Mesh.h"
11 #include "AdaptCriteria.h"
12 #include "Halo.h"
13 #include "InitialConditions.h"
14 #include "Testing.h"
15 
16 template <class T> void Adaptation(Param& XParam, Forcing<float> XForcing, Model<T>& XModel);
17 template <class T> void InitialAdaptation(Param& XParam, Forcing<float> &XForcing, Model<T>& XModel);
18 template <class T> bool refinesanitycheck(Param XParam, BlockP<T> XBlock, bool*& refine, bool*& coarsen);
19 int checkneighbourrefine(int neighbourib, int levelib, int levelneighbour, bool*& refine, bool*& coarsen);
20 
21 template <class T> bool checkBUQsanity(Param XParam, BlockP<T> XBlock);
22 bool checklevel(int ib, int levelib, int neighbourib, int levelneighbour);
23 
24 template <class T> void Adapt(Param& XParam, Forcing<float> XForcing, Model<T>& XModel);
25 
26 template <class T> int CalcAvailblk(Param& XParam, BlockP<T> XBlock, AdaptP& XAdapt);
27 template <class T> int AddBlocks(int nnewblk, Param& XParam, Model<T>& XModel);
28 template <class T> void coarsen(Param XParam, BlockP<T>& XBlock, AdaptP& XAdapt, EvolvingP<T> XEvo, EvolvingP<T>& XEv);
29 template <class T> void refine(Param XParam, BlockP<T>& XBlock, AdaptP& XAdapt, EvolvingP<T> XEvo, EvolvingP<T>& XEv);
30 template <class T> void Adaptationcleanup(Param& XParam, BlockP<T>& XBlock, AdaptP& XAdapt);
31 
32 
33 template <class T> bool checkneighbourdistance(double dx, int ib, int levelib, T blocko, int neighbourib, int levelneighbour, T neighbourblocko, bool rightortop );
34 
35 // End of global definition
36 #endif
bool checklevel(int ib, int levelib, int neighbourib, int levelneighbour)
Definition: Adaptation.cu:335
void coarsen(Param XParam, BlockP< T > &XBlock, AdaptP &XAdapt, EvolvingP< T > XEvo, EvolvingP< T > &XEv)
Definition: Adaptation.cu:592
void Adaptation(Param &XParam, Forcing< float > XForcing, Model< T > &XModel)
Definition: Adaptation.cu:8
int CalcAvailblk(Param &XParam, BlockP< T > XBlock, AdaptP &XAdapt)
Definition: Adaptation.cu:467
bool checkneighbourdistance(double dx, int ib, int levelib, T blocko, int neighbourib, int levelneighbour, T neighbourblocko, bool rightortop)
Definition: Adaptation.cu:346
void refine(Param XParam, BlockP< T > &XBlock, AdaptP &XAdapt, EvolvingP< T > XEvo, EvolvingP< T > &XEv)
Definition: Adaptation.cu:923
void InitialAdaptation(Param &XParam, Forcing< float > &XForcing, Model< T > &XModel)
Definition: Adaptation.cu:103
void Adaptationcleanup(Param &XParam, BlockP< T > &XBlock, AdaptP &XAdapt)
Definition: Adaptation.cu:1704
bool checkBUQsanity(Param XParam, BlockP< T > XBlock)
Definition: Adaptation.cu:287
bool refinesanitycheck(Param XParam, BlockP< T > XBlock, bool *&refine, bool *&coarsen)
Definition: Adaptation.cu:127
void Adapt(Param &XParam, Forcing< float > XForcing, Model< T > &XModel)
Definition: Adaptation.cu:375
int AddBlocks(int nnewblk, Param &XParam, Model< T > &XModel)
Definition: Adaptation.cu:532
int checkneighbourrefine(int neighbourib, int levelib, int levelneighbour, bool *&refine, bool *&coarsen)
Definition: Adaptation.cu:265
Definition: Param.h:10
Definition: Arrays.h:104
Definition: Arrays.h:86
Definition: Arrays.h:29
Definition: Forcing.h:116
Definition: Arrays.h:151