Skip to content

Commit 374d990

Browse files
authored
Merge pull request #39 from arcaneframework/mcgsolver-tests
- base mcgsolver tests
2 parents bedd5ae + 4609fc6 commit 374d990

3 files changed

Lines changed: 520 additions & 12 deletions

test/LargeScaleTwoPhaseFlowSimulation/new-use-case-two-phase-flow-short-IFPSolver-2048x2048x10-dt10-nsd-__NPX__x__NPY__x__NPZ__-__NP__p.arc

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -111,18 +111,6 @@
111111
<debug-dump-matlab>false</debug-dump-matlab>
112112
<debug-stat-linear-solver>true</debug-stat-linear-solver>
113113

114-
<!--linear-solver name="MCGSolver">
115-
<output>1</output>
116-
<max-iteration-num>1000</max-iteration-num>
117-
<stop-criteria-value>1e-8</stop-criteria-value>
118-
<kernel>CPU_CBLAS_BCSR</kernel>
119-
<preconditioner>CprAmg</preconditioner>
120-
<CprAmg>
121-
<relax-solver>ILUk</relax-solver>
122-
</CprAmg>
123-
<sp-prec>true</sp-prec>
124-
</linear-solver-->
125-
126114
<linear-solver name="IFPSolver">
127115
<output>1</output>
128116
<verbose>true</verbose>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,260 @@
1+
<case codename="ShArc" xml:lang="en" codeversion="1.0">
2+
<arcane>
3+
<timeloop>ArcResTimeLoop</timeloop>
4+
</arcane>
5+
<mesh>
6+
<meshgenerator>
7+
<cartesian>
8+
<face-numbering-version>4</face-numbering-version>
9+
<origine>0 0 -100</origine>
10+
<nsd>__NPX__ __NPY__ __NPZ__</nsd>
11+
<lx nx="2048">20000</lx>
12+
<ly ny="2048">20000</ly>
13+
<lz nz="10">100</lz>
14+
</cartesian>
15+
</meshgenerator>
16+
</mesh>
17+
18+
<sh-arc>
19+
<time-manager name="TimeLine">
20+
<verbose>true</verbose>
21+
<init-time>0.</init-time>
22+
<end-time>86400e3</end-time> <!--1000 days-->
23+
<init-time-step>86400</init-time-step> <!-- 1 day -->
24+
<min-time-step>86400e-1</min-time-step><!-- 0.1 day -->
25+
<max-time-step>86400e1</max-time-step><!-- 10 days -->
26+
</time-manager>
27+
<time-step-policy name="TimeStepEvolutionPolicy">
28+
<type>Geometric</type>
29+
<increase-factor>1.5</increase-factor>
30+
<decrease-factor>0.5</decrease-factor>
31+
</time-step-policy>
32+
<geometry name="Euclidian3Geometry"/>
33+
<!--validator name="SyntheticServiceValidator">
34+
<variable-field name="VariableAccessor">
35+
<name>Domain_Pressure_System</name>
36+
</variable-field>
37+
<group-name>AllCells</group-name>
38+
<reference-value>10512859.6282460578</reference-value>
39+
<reduction>Mean</reduction>
40+
<comparator>AbsoluteError</comparator>
41+
<tolerance>1e-6</tolerance>
42+
<verbose>true</verbose>
43+
</validator-->
44+
<!--validator name="SyntPheticServiceValidator">
45+
<variable-field name="VariableAccessor">
46+
<name>Domain_Saturation_Water</name>
47+
</variable-field>
48+
<group-name>AllCells</group-name>
49+
<reference-value>0.0516165805</reference-value>
50+
<reduction>Mean</reduction>
51+
<comparator>AbsoluteError</comparator>
52+
<tolerance>1e-6</tolerance>
53+
<verbose>true</verbose>
54+
</validator-->
55+
<expression-mng name="ExpressionMng"/>
56+
<post-processing>
57+
<save-init>false</save-init>
58+
<output-period>10</output-period>
59+
<output-path>output</output-path>
60+
<post-processor>
61+
<format name="Ensight7PostProcessor">
62+
<force-first-geometry>true</force-first-geometry>
63+
</format>
64+
<variables>
65+
<variable>Domain_Pressure_System</variable>
66+
<variable>Domain_Permeability_Fluid</variable>
67+
<variable>Domain_Saturation_Water</variable>
68+
</variables>
69+
</post-processor>
70+
</post-processing>
71+
</sh-arc>
72+
<physical-model>
73+
<system name="UserSystem">
74+
<name>System</name>
75+
<fluid-system>
76+
<name>Fluid</name>
77+
<fluid-phase>
78+
<name>Water</name>
79+
<species>H2O</species>
80+
</fluid-phase>
81+
<fluid-phase>
82+
<name>Gas</name>
83+
<species>CO2</species>
84+
</fluid-phase>
85+
</fluid-system>
86+
<solid-system>
87+
<name>Solid</name>
88+
</solid-system>
89+
</system>
90+
</physical-model>
91+
<two-phase-flow-simulation>
92+
<group-creator name="StandardGroupCreator">
93+
<scalar-eval>false</scalar-eval>
94+
<facegroup>
95+
<name>XMIN</name>
96+
<area>GC_allBoundaryFaces</area>
97+
<filter>h(1.e-14-x)</filter>
98+
</facegroup>
99+
<facegroup>
100+
<name>XMAX</name>
101+
<area>GC_allBoundaryFaces</area>
102+
<filter>h(x-20000)</filter>
103+
</facegroup>
104+
</group-creator>
105+
<numerics>
106+
<newton name="ArcNumNewtonSolver">
107+
<iteration-max>20</iteration-max>
108+
<relative-tolerance>1.e-8</relative-tolerance>
109+
<tolerance>1.e-8</tolerance>
110+
<control-factor>0.1</control-factor>
111+
<debug-dump-matlab>false</debug-dump-matlab>
112+
<debug-stat-linear-solver>true</debug-stat-linear-solver>
113+
114+
<linear-solver name="MCGSolver">
115+
<output>1</output>
116+
<max-iteration-num>1000</max-iteration-num>
117+
<stop-criteria-value>1e-8</stop-criteria-value>
118+
<kernel>CPU_CBLAS_BCSR</kernel>
119+
<rowsum>true</rowsum>
120+
<preconditioner>CprAmg</preconditioner>
121+
<CprAmg>
122+
<relax-solver>ILUk</relax-solver>
123+
</CprAmg>
124+
<ILUk>
125+
<sp>true</sp>
126+
</ILUk>
127+
</linear-solver>
128+
129+
</newton>
130+
</numerics>
131+
<boundary-condition name="DirichletManager">
132+
<boundary>
133+
<face-group>XMIN</face-group>
134+
<limit-condition>
135+
<property>[System]System::Pressure</property>
136+
<value>600.e5</value>
137+
</limit-condition>
138+
<limit-condition>
139+
<property>[Phase]Water::Saturation</property>
140+
<value>0.</value>
141+
</limit-condition>
142+
<limit-condition>
143+
<property>[Phase]Gas::Saturation</property>
144+
<value>1.</value>
145+
</limit-condition>
146+
</boundary>
147+
<boundary>
148+
<face-group>XMAX</face-group>
149+
<limit-condition>
150+
<property>[System]System::Pressure</property>
151+
<value>100.e5</value>
152+
</limit-condition>
153+
<limit-condition>
154+
<property>[Phase]Water::Saturation</property>
155+
<value>1.</value>
156+
</limit-condition>
157+
<limit-condition>
158+
<property>[Phase]Gas::Saturation</property>
159+
<value>0.</value>
160+
</limit-condition>
161+
</boundary>
162+
</boundary-condition>
163+
<initial-condition name="Constant">
164+
<property>[System]System::Pressure</property>
165+
<condition>
166+
<value>105.e5</value>
167+
</condition>
168+
</initial-condition>
169+
<initial-condition name="Constant">
170+
<property>[SubSystem]Fluid::VolumeFraction</property>
171+
<condition>
172+
<value>0.2</value>
173+
</condition>
174+
</initial-condition>
175+
<initial-condition name="Constant">
176+
<property>[Phase]Water::Saturation</property>
177+
<condition>
178+
<value>1.</value>
179+
</condition>
180+
</initial-condition>
181+
<initial-condition name="Constant">
182+
<property>[Phase]Gas::Saturation</property>
183+
<condition>
184+
<value>0.</value>
185+
</condition>
186+
</initial-condition>
187+
<initial-condition name="Expression">
188+
<property>[SubSystem]Fluid::Permeability</property>
189+
<condition name="ExpressionBuilderR3vR1">
190+
<expression>(x,y,z)->exp(-30+3*sin(2*pi*x/20000)*sin(8*pi*y/20000)+y/20000)</expression>
191+
<constant>
192+
<name>pi</name>
193+
<value>3.14</value>
194+
</constant>
195+
</condition>
196+
</initial-condition>
197+
<law name="ConstantLawConfig">
198+
<output>
199+
<result>[Phase]Water::Density</result>
200+
</output>
201+
<input />
202+
<parameters>
203+
<value>1000</value>
204+
</parameters>
205+
</law>
206+
<law name="ConstantLawConfig">
207+
<output>
208+
<result>[Phase]Gas::Density</result>
209+
</output>
210+
<input />
211+
<parameters>
212+
<value>1000</value>
213+
</parameters>
214+
</law>
215+
<law name="ConstantLawConfig">
216+
<output>
217+
<result>[Phase]Water::Viscosity</result>
218+
</output>
219+
<input />
220+
<parameters>
221+
<value>1.e-3</value>
222+
</parameters>
223+
</law>
224+
<law name="ConstantLawConfig">
225+
<output>
226+
<result>[Phase]Gas::Viscosity</result>
227+
</output>
228+
<input />
229+
<parameters>
230+
<value>1.e-4</value>
231+
</parameters>
232+
</law>
233+
<law name="RelativePermeabilityPowerLawConfig">
234+
<output>
235+
<relative-permeability>[Phase]Water::RelativePermeability</relative-permeability>
236+
</output>
237+
<input>
238+
<saturation>[Phase]Water::Saturation</saturation>
239+
</input>
240+
<parameters>
241+
<alpha>2</alpha>
242+
<Swi>0</Swi>
243+
<Sgc>0</Sgc>
244+
</parameters>
245+
</law>
246+
<law name="RelativePermeabilityPowerLawConfig">
247+
<output>
248+
<relative-permeability>[Phase]Gas::RelativePermeability</relative-permeability>
249+
</output>
250+
<input>
251+
<saturation>[Phase]Gas::Saturation</saturation>
252+
</input>
253+
<parameters>
254+
<alpha>2</alpha>
255+
<Swi>0</Swi>
256+
<Sgc>0</Sgc>
257+
</parameters>
258+
</law>
259+
</two-phase-flow-simulation>
260+
</case>

0 commit comments

Comments
 (0)