OpenFPM_pdata  1.1.0
Project that contain the implementation of distributed structures
 All Data Structures Namespaces Functions Variables Typedefs Enumerations Friends Pages
eq_1_ag_unit_test.hpp
1 /*
2  * eq_1_ag_unit_test.hpp
3  *
4  * This file model the Eq1 in 2D of Active Gel
5  *
6  * R. Ramaswamy, G. Bourantas, F. Jülicher, and I. F. Sbalzarini.
7  * A hybrid particle-mesh method for incompressible active polar
8  * viscous gels. J. Comput. Phys., 291:334–361, 2015.
9  *
10  * Created on: Sep 18, 2015
11  * Author: Pietro Incardona
12  */
13 
14 #ifndef OPENFPM_NUMERICS_SRC_EQUATIONS_EQ_1_AG_UNIT_TEST_HPP_
15 #define OPENFPM_NUMERICS_SRC_EQUATIONS_EQ_1_AG_UNIT_TEST_HPP_
16 
17 
19 
20 // Creating square parentesis term left part equation 1
21 
22 // Derivation and multiplication of t1 ... t6
23 
24 namespace eq1
25 {
26  typedef mul<etad2,D<x,t1>> t1_l;
27  typedef mul<eta,D<x,t2>> t2_l;
28  typedef mul<etad2,D<x,t3>> t3_l;
29 
30  typedef mul<eta,D<y,t4>> t4_l;
31  typedef mul<eta2,D<y,t5>> t5_l;
32  typedef mul<eta,D<y,t6>> t6_l;
33 
34  typedef mul<eta,Lap<v>> meLv;
35  typedef D<x,P> DxP;
36 
37  // Assemble the left part
38  typedef add<meLV,minus<DxP>,t1_l,t2_l,t3_l,t4_l,t5_l,t6_l> left;
39 
41 
43 
44  typedef div<2,D<x,hp>> t1_r;
45  typedef mul<zeta,D<x,mul<del_nu,px2>>> t2_r;
46  typedef mul<zeta,D<y,mul<del_nu,px_py>>> t3_r;
48  typedef mul<nud2,D<x,mul<-2,hp,px_py>> t5_r;
49  typedef mul<etad2,D<y,mul<hp,px2_m_py2>>> t6_r;
50  typedef D<x,sigma[x][x]> t7_r;
51  typedef D<y,sigma[x][y]> t8_r;
52 
53  typedef add<t1_r,t2_r,t3_r,t4_r,t5_r,t6_r,t7_r,t8_r,g_ext> eq1r;
54 
55  typedef Eq<eq1l,eq1r> equation;
56 }
57 
59 
60 #endif /* OPENFPM_NUMERICS_SRC_EQUATIONS_EQ_1_AG_UNIT_TEST_HPP_ */
Derivative second order on h (spacing)
Definition: Derivative.hpp:28
Equation.
Definition: eq.hpp:28
It model an expression expr1 * expr2.
Definition: mul.hpp:119