ParallelPlateWithBodyForce.prj 7.44 KB
Newer Older
renchao.lu's avatar
renchao.lu committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
<?xml version="1.0" encoding="ISO-8859-1"?>
<OpenGeoSysProject>
    <meshes>
        <mesh>ParallelPlate.vtu</mesh>
        <mesh>ParallelPlate_top.vtu</mesh>
        <mesh>ParallelPlate_bottom.vtu</mesh>
        <mesh>ParallelPlate_left.vtu</mesh>
        <mesh>ParallelPlate_right.vtu</mesh>
    </meshes>
    <processes>
        <process>
            <name>ff</name>
            <type>StokesFlow</type>
            <integration_order>3</integration_order>
            <process_variables>
                <liquid_velocity>liquid_velocity</liquid_velocity>
                <pressure>pressure</pressure>
            </process_variables>
            <specific_body_force>2 0</specific_body_force>
        </process>
    </processes>
    <media>
        <medium id="0">
            <phases>
                <phase>
                    <type>AqueousLiquid</type>
                    <properties>
                        <property>
                            <name>viscosity</name>
                            <type>Constant</type>
                            <value>5e-3</value>
                        </property>
                    </properties>
                </phase>
            </phases>
        </medium>
    </media>
    <time_loop>
        <processes>
            <process ref="ff">
                <nonlinear_solver>basic_picard</nonlinear_solver>
                <convergence_criterion>
                    <type>PerComponentDeltaX</type>
                    <norm_type>NORM2</norm_type>
                    <abstols>1.e-6 1.e-6 1.e-6</abstols>
                </convergence_criterion>
                <time_discretization>
                    <type>BackwardEuler</type>
                </time_discretization>
                <time_stepping>
                    <type>FixedTimeStepping</type>
                    <t_initial>0</t_initial>
                    <t_end>2</t_end>
                    <timesteps>
                        <pair>
                            <repeat>2</repeat>
                            <delta_t>1</delta_t>
                        </pair>
                    </timesteps>
                </time_stepping>
            </process>
        </processes>
        <output>
            <type>VTK</type>
            <prefix>ParallelPlateWithBodyForce</prefix>
            <suffix>_ts_{:timestep}_t_{:time}</suffix>
            <timesteps>
                <pair>
                    <repeat>2</repeat>
                    <each_steps>1</each_steps>
                </pair>
            </timesteps>
            <variables>
                <variable>liquid_velocity</variable>
                <variable>pressure</variable>
            </variables>
        </output>
    </time_loop>
    <parameters>
        <parameter>
            <name>kappa</name>
            <type>Constant</type>
            <values>1.157e-12</values>
        </parameter>
        <parameter>
            <name>porosity</name>
            <type>Constant</type>
            <value>1</value>
        </parameter>
        <parameter>
            <name>decay</name>
            <type>Constant</type>
            <value>0</value>
        </parameter>
        <parameter>
            <name>Dirichlet0</name>
            <type>Constant</type>
            <value>0</value>
        </parameter>
        <parameter>
            <name>v0</name>
            <type>Constant</type>
            <values>0 0</values>
        </parameter>
        <parameter>
            <name>p0</name>
            <type>Constant</type>
            <value>200000</value>
        </parameter>
        <parameter>
            <name>p_in</name>
            <type>Constant</type>
            <value>200039.8</value>
        </parameter>
        <parameter>
            <name>p_out</name>
            <type>Constant</type>
            <value>200000</value>
        </parameter>
    </parameters>
    <process_variables>
        <process_variable>
            <name>liquid_velocity</name>
            <components>2</components>
            <order>2</order>
            <initial_condition>v0</initial_condition>
            <boundary_conditions>
                <boundary_condition>
                    <mesh>ParallelPlate_top</mesh>
                    <type>Dirichlet</type>
                    <component>0</component>
                    <parameter>Dirichlet0</parameter>
                </boundary_condition>
                <boundary_condition>
                    <mesh>ParallelPlate_bottom</mesh>
                    <type>Dirichlet</type>
                    <component>0</component>
                    <parameter>Dirichlet0</parameter>
                </boundary_condition>
                <boundary_condition>
                    <mesh>ParallelPlate_top</mesh>
                    <type>Dirichlet</type>
                    <component>1</component>
                    <parameter>Dirichlet0</parameter>
                </boundary_condition>
                <boundary_condition>
                    <mesh>ParallelPlate_bottom</mesh>
                    <type>Dirichlet</type>
                    <component>1</component>
                    <parameter>Dirichlet0</parameter>
                </boundary_condition>
            </boundary_conditions>
        </process_variable>
        <process_variable>
            <name>pressure</name>
            <components>1</components>
            <order>1</order>
            <initial_condition>p0</initial_condition>
            <boundary_conditions>
                <boundary_condition>
                    <mesh>ParallelPlate_left</mesh>
                    <type>Dirichlet</type>
                    <parameter>p_in</parameter>
                </boundary_condition>
                <boundary_condition>
                    <mesh>ParallelPlate_right</mesh>
                    <type>Dirichlet</type>
                    <parameter>p_out</parameter>
                </boundary_condition>
            </boundary_conditions>
        </process_variable>
    </process_variables>
    <nonlinear_solvers>
        <nonlinear_solver>
            <name>basic_picard</name>
            <type>Picard</type>
            <max_iter>300</max_iter>
            <linear_solver>general_linear_solver</linear_solver>
        </nonlinear_solver>
    </nonlinear_solvers>
    <linear_solvers>
        <linear_solver>
            <name>general_linear_solver</name>
            <lis>-i cg -p jacobi -tol 1e-16 -maxiter 20000</lis>
            <eigen>
                <solver_type>BiCGSTAB</solver_type>
                <precon_type>ILUT</precon_type>
                <max_iteration_step>10000</max_iteration_step>
                <error_tolerance>1e-14</error_tolerance>
            </eigen>
            <petsc>
                <parameters>-ksp_type cg -pc_type bjacobi -ksp_atol 1e-10 -ksp_rtol 1e-8 -snes_type vinewtonssls -snes_linesearch_type l2 -snes_atol 1.e-8 -snes_rtol 1.e-8 -snes_max_it 1000 -snes_monitor </parameters>
            </petsc>
        </linear_solver>
    </linear_solvers>
    <test_definition>
        <vtkdiff>
            <regex>ParallelPlateWithBodyForce_ts_[0-9]*_t_[0-9]*.000000.vtu</regex>
            <field>pressure_interpolated</field>
            <absolute_tolerance>1e-6</absolute_tolerance>
            <relative_tolerance>1e-10</relative_tolerance>
        </vtkdiff>
        <vtkdiff>
            <regex>ParallelPlateWithBodyForce_ts_[0-9]*_t_[0-9]*.000000.vtu</regex>
            <field>liquid_velocity</field>
            <absolute_tolerance>1e-10</absolute_tolerance>
            <relative_tolerance>1e-16</relative_tolerance>
        </vtkdiff>
    </test_definition>
</OpenGeoSysProject>