BG_Flood  0.1
Documentation (Work-in-progress)
Updateforcing.h
Go to the documentation of this file.
1 
2 #ifndef UPDATEFORCING_H
3 #define UPDATEFORCING_H
4 
5 #include "General.h"
6 #include "Param.h"
7 #include "Arrays.h"
8 #include "Forcing.h"
9 #include "InitialConditions.h"
10 #include "MemManagement.h"
11 #include "ReadForcing.h"
12 #include "GridManip.h"
13 #include "Util_CPU.h"
14 
15 template <class T> void updateforcing(Param XParam, Loop<T> XLoop, Forcing<float>& XForcing);
16 
17 void Forcingthisstep(Param XParam, double totaltime, DynForcingP<float>& XDynForcing);
18 
19 template <class T> __device__ T interpDyn2BUQ(T x, T y, TexSetP Forcing);
20 
21 template <class T> __host__ void AddwindforcingCPU(Param XParam, BlockP<T> XBlock, DynForcingP<float> Uwind, DynForcingP<float> Vwind, AdvanceP<T> XAdv);
22 template <class T> __global__ void AddwindforcingGPU(Param XParam, BlockP<T> XBlock, DynForcingP<float> Uwind, DynForcingP<float> Vwind, AdvanceP<T> XAdv);
23 
24 template <class T> __host__ void AddrainforcingCPU(Param XParam, BlockP<T> XBlock, DynForcingP<float> Rain, AdvanceP<T> XAdv);
25 template <class T> __host__ void AddrainforcingImplicitCPU(Param XParam, Loop<T> XLoop, BlockP<T> XBlock, DynForcingP<float> Rain, EvolvingP<T> XEv);
26 template <class T> __global__ void AddrainforcingGPU(Param XParam, BlockP<T> XBlock, DynForcingP<float> Rain, AdvanceP<T> XAdv);
27 template <class T> __global__ void AddrainforcingImplicitGPU(Param XParam, Loop<T> XLoop, BlockP<T> XBlock, DynForcingP<float> Rain, EvolvingP<T> XEv);
28 
29 template <class T> __host__ void AddinfiltrationImplicitCPU(Param XParam, Loop<T> XLoop, BlockP<T> XBlock, T* il, T* cl, EvolvingP<T> XEv, T* hgw);
30 template <class T> __global__ void AddinfiltrationImplicitGPU(Param XParam, Loop<T> XLoop, BlockP<T> XBlock, T* il, T* cl, EvolvingP<T> XEv, T* hgw);
31 
32 template <class T> __global__ void AddPatmforcingGPU(Param XParam, BlockP<T> XBlock, DynForcingP<float> PAtm, Model<T> XModel);
33 template <class T> __host__ void AddPatmforcingCPU(Param XParam, BlockP<T> XBlock, DynForcingP<float> PAtm, Model<T> XModel);
34 
35 template <class T> __host__ void AddRiverForcing(Param XParam, Loop<T> XLoop, std::vector<River> XRivers, Model<T> XModel);
36 
37 template <class T> void deformstep(Param XParam, Loop<T> XLoop, std::vector<deformmap<float>> deform, Model<T> XModel, Model<T> XModel_g);
38 
39 template <class T> __global__ void InjectRiverGPU(Param XParam, River XRiver, T qnow, int* Riverblks, BlockP<T> XBlock, AdvanceP<T> XAdv);
40 template <class T> __global__ void AddDeformGPU(Param XParam, BlockP<T> XBlock, deformmap<float> defmap, EvolvingP<T> XEv, T scale, T* zb);
41 
42 
43 #endif
float * Rain
Definition: BasCart_gpu.cu:162
double * y
Definition: BasCart_gpu.cu:51
double * x
Definition: BasCart_gpu.cu:51
float * Vwind
Definition: BasCart_gpu.cu:150
float * zb
Definition: BasCart_gpu.cu:54
float * Uwind
Definition: BasCart_gpu.cu:149
__global__ void AddrainforcingImplicitGPU(Param XParam, Loop< T > XLoop, BlockP< T > XBlock, DynForcingP< float > Rain, EvolvingP< T > XEv)
Definition: Updateforcing.cu:283
void updateforcing(Param XParam, Loop< T > XLoop, Forcing< float > &XForcing)
Definition: Updateforcing.cu:5
__global__ void AddinfiltrationImplicitGPU(Param XParam, Loop< T > XLoop, BlockP< T > XBlock, T *il, T *cl, EvolvingP< T > XEv, T *hgw)
Definition: Updateforcing.cu:461
__global__ void AddrainforcingGPU(Param XParam, BlockP< T > XBlock, DynForcingP< float > Rain, AdvanceP< T > XAdv)
Definition: Updateforcing.cu:247
__global__ void AddwindforcingGPU(Param XParam, BlockP< T > XBlock, DynForcingP< float > Uwind, DynForcingP< float > Vwind, AdvanceP< T > XAdv)
Definition: Updateforcing.cu:500
__host__ void AddRiverForcing(Param XParam, Loop< T > XLoop, std::vector< River > XRivers, Model< T > XModel)
Definition: Updateforcing.cu:120
void Forcingthisstep(Param XParam, double totaltime, DynForcingP< float > &XDynForcing)
Definition: Updateforcing.cu:38
__host__ void AddrainforcingCPU(Param XParam, BlockP< T > XBlock, DynForcingP< float > Rain, AdvanceP< T > XAdv)
Definition: Updateforcing.cu:323
__device__ T interpDyn2BUQ(T x, T y, TexSetP Forcing)
Definition: Updateforcing.cu:681
__host__ void AddPatmforcingCPU(Param XParam, BlockP< T > XBlock, DynForcingP< float > PAtm, Model< T > XModel)
Definition: Updateforcing.cu:633
__global__ void InjectRiverGPU(Param XParam, River XRiver, T qnow, int *Riverblks, BlockP< T > XBlock, AdvanceP< T > XAdv)
Definition: Updateforcing.cu:153
__global__ void AddPatmforcingGPU(Param XParam, BlockP< T > XBlock, DynForcingP< float > PAtm, Model< T > XModel)
Definition: Updateforcing.cu:548
__host__ void AddinfiltrationImplicitCPU(Param XParam, Loop< T > XLoop, BlockP< T > XBlock, T *il, T *cl, EvolvingP< T > XEv, T *hgw)
Definition: Updateforcing.cu:416
__host__ void AddrainforcingImplicitCPU(Param XParam, Loop< T > XLoop, BlockP< T > XBlock, DynForcingP< float > Rain, EvolvingP< T > XEv)
Definition: Updateforcing.cu:371
__global__ void AddDeformGPU(Param XParam, BlockP< T > XBlock, deformmap< float > defmap, EvolvingP< T > XEv, T scale, T *zb)
Definition: Updateforcing.cu:789
__host__ void AddwindforcingCPU(Param XParam, BlockP< T > XBlock, DynForcingP< float > Uwind, DynForcingP< float > Vwind, AdvanceP< T > XAdv)
Definition: Updateforcing.cu:579
void deformstep(Param XParam, Loop< T > XLoop, std::vector< deformmap< float >> deform, Model< T > XModel, Model< T > XModel_g)
Definition: Updateforcing.cu:712
Definition: Param.h:10
Definition: Input.h:34
Definition: Forcing.h:45
Definition: Arrays.h:55
Definition: Arrays.h:100
Definition: Arrays.h:29
Definition: Forcing.h:156
Definition: Arrays.h:221
Definition: Arrays.h:165
Definition: Forcing.h:9