1/*
2 * stoke_flow_eq_3d.hpp
3 *
4 * Created on: May 28, 2016
5 * Author: i-bird
6 */
7
8#ifndef OPENFPM_NUMERICS_SRC_EQUATIONS_STOKE_FLOW_EQ_3D_HPP_
9#define OPENFPM_NUMERICS_SRC_EQUATIONS_STOKE_FLOW_EQ_3D_HPP_
10
11constexpr unsigned int x = 0;
12constexpr unsigned int y = 1;
13constexpr unsigned int z = 2;
14
15// Model the equations
16
17constexpr unsigned int v[] = {0,1,2};
18constexpr unsigned int P = 3;
19
20typedef Field<v[x],lid_nn_3d> v_x;
21typedef Field<v[y],lid_nn_3d> v_y;
22typedef Field<v[z],lid_nn_3d> v_z;
23typedef Field<P,lid_nn_3d> Prs;
24
25// Eq1 V_x
26
27typedef mul<eta,Lap<v_x,lid_nn_3d>,lid_nn_3d> eta_lap_vx;
28typedef D<x,Prs,lid_nn_3d> p_x;
29typedef minus<p_x,lid_nn_3d> m_p_x;
30typedef sum<eta_lap_vx,m_p_x,lid_nn_3d> vx_eq;
31
32// Eq2 V_y
33
34typedef mul<eta,Lap<v_y,lid_nn_3d>,lid_nn_3d> eta_lap_vy;
35typedef D<y,Prs,lid_nn_3d> p_y;
36typedef minus<p_y,lid_nn_3d> m_p_y;
37typedef sum<eta_lap_vy,m_p_y,lid_nn_3d> vy_eq;
38
39// Eq3 V_z
40
41typedef mul<eta,Lap<v_z,lid_nn_3d>,lid_nn_3d> eta_lap_vz;
42typedef D<z,Prs,lid_nn_3d> p_z;
43typedef minus<p_z,lid_nn_3d> m_p_z;
44typedef sum<eta_lap_vz,m_p_z,lid_nn_3d> vz_eq;
45
46// Eq4 Incompressibility
47
48typedef D<x,v_x,lid_nn_3d,FORWARD> dx_vx;
49typedef D<y,v_y,lid_nn_3d,FORWARD> dy_vy;
50typedef D<z,v_z,lid_nn_3d,FORWARD> dz_vz;
51typedef sum<dx_vx,dy_vy,dz_vz,lid_nn_3d> ic_eq;
52
53
54// Directional Avg
55typedef Avg<x,v_y,lid_nn_3d> avg_x_vy;
56typedef Avg<z,v_y,lid_nn_3d> avg_z_vy;
57
58typedef Avg<y,v_x,lid_nn_3d> avg_y_vx;
59typedef Avg<z,v_x,lid_nn_3d> avg_z_vx;
60
61typedef Avg<y,v_z,lid_nn_3d> avg_y_vz;
62typedef Avg<x,v_z,lid_nn_3d> avg_x_vz;
63
64// Directional Avg
65
66typedef Avg<x,v_y,lid_nn_3d,FORWARD> avg_x_vy_f;
67typedef Avg<z,v_y,lid_nn_3d,FORWARD> avg_z_vy_f;
68
69typedef Avg<y,v_x,lid_nn_3d,FORWARD> avg_y_vx_f;
70typedef Avg<z,v_x,lid_nn_3d,FORWARD> avg_z_vx_f;
71
72typedef Avg<y,v_z,lid_nn_3d,FORWARD> avg_y_vz_f;
73typedef Avg<x,v_z,lid_nn_3d,FORWARD> avg_x_vz_f;
74
75#define EQ_1 0
76#define EQ_2 1
77#define EQ_3 2
78#define EQ_4 3
79
80
81#endif /* OPENFPM_NUMERICS_SRC_EQUATIONS_STOKE_FLOW_EQ_3D_HPP_ */
82