cube_1e0.prj 13.1 KB
Newer Older
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
<?xml version="1.0" encoding="ISO-8859-1"?>
<OpenGeoSysProject>
    <mesh>cube_1x1x1_hex_1e0.vtu</mesh>
    <geometry>cube_1x1x1.gml</geometry>
    <processes>
        <process>
            <name>ThermoMechanicalPhaseField</name>
            <type>THERMO_MECHANICAL_PHASE_FIELD</type>
            <integration_order>3</integration_order>
            <constitutive_relation>
                <type>LinearElasticIsotropic</type>
                <youngs_modulus>E</youngs_modulus>
                <poissons_ratio>nu</poissons_ratio>
            </constitutive_relation>
            <phasefield_parameters>
                <residual_stiffness>k</residual_stiffness>
                <crack_resistance>gc</crack_resistance>
                <crack_length_scale>ls</crack_length_scale>
                <kinetic_coefficient>M</kinetic_coefficient>
            </phasefield_parameters>
            <solid_density>rho_sr</solid_density>
            <thermal_parameters>
                <linear_thermal_expansion_coefficient>alpha</linear_thermal_expansion_coefficient>
                <specific_heat_capacity>cs</specific_heat_capacity>
                <thermal_conductivity>lambda</thermal_conductivity>
                <residual_thermal_conductivity>lambda_res</residual_thermal_conductivity>
            </thermal_parameters>
            <reference_temperature>0</reference_temperature>
            <process_variables>
                <temperature>temperature</temperature>
                <displacement>displacement</displacement>
                <phasefield>phasefield</phasefield>
            </process_variables>
            <specific_body_force>0 0 0</specific_body_force>
        </process>
    </processes>
    <time_loop>
        <global_process_coupling>
            <max_iter> 100 </max_iter>
            <convergence_criteria>
                <!-- convergence criterion for the first process -->
                <convergence_criterion>
                    <type>DeltaX</type>
                    <norm_type>INFINITY_N</norm_type>
                    <abstol>1.e-8</abstol>
                    <reltol>1.e-10</reltol>
                </convergence_criterion>
                <!-- convergence criterion for the second process -->
                <convergence_criterion>
                    <type>DeltaX</type>
                    <norm_type>INFINITY_N</norm_type>
                    <abstol>1.e-8</abstol>
                    <reltol>1.e-10</reltol>
                </convergence_criterion>
                <!-- convergence criterion for the third process -->
                <convergence_criterion>
                    <type>DeltaX</type>
                    <norm_type>INFINITY_N</norm_type>
                    <abstol>1.e-8</abstol>
                    <reltol>1.e-12</reltol>
                </convergence_criterion>
            </convergence_criteria>
        </global_process_coupling>
        <processes>
            <process ref="ThermoMechanicalPhaseField">
                <nonlinear_solver>basic_newton_T</nonlinear_solver>
                <convergence_criterion>
                    <type>DeltaX</type>
                    <norm_type>NORM2</norm_type>
                    <reltol>1.e-12</reltol>
                </convergence_criterion>
                <time_discretization>
                    <type>BackwardEuler</type>
                </time_discretization>
                <time_stepping>
                    <type>FixedTimeStepping</type>
                    <t_initial>0</t_initial>
                    <t_end>100</t_end>
                    <timesteps>
                        <pair>
                            <repeat>1</repeat>
                            <delta_t>100</delta_t>
                        </pair>
                    </timesteps>
                </time_stepping>
            </process>
            <process ref="ThermoMechanicalPhaseField">
                <nonlinear_solver>basic_newton_u</nonlinear_solver>
                <convergence_criterion>
                    <type>DeltaX</type>
                    <norm_type>NORM2</norm_type>
                    <abstol>1.e-10</abstol>
                </convergence_criterion>
                <time_discretization>
                    <type>BackwardEuler</type>
                </time_discretization>
                <time_stepping>
                    <type>FixedTimeStepping</type>
                    <t_initial>0</t_initial>
                    <t_end>100</t_end>
                    <timesteps>
                        <pair>
                            <repeat>1</repeat>
                            <delta_t>100</delta_t>
                        </pair>
                    </timesteps>
                </time_stepping>
            </process>
            <process ref="ThermoMechanicalPhaseField">
                <nonlinear_solver>basic_newton_d</nonlinear_solver>
                <convergence_criterion>
                    <type>DeltaX</type>
                    <norm_type>NORM2</norm_type>
                    <reltol>1.e-14</reltol>
                </convergence_criterion>
                <time_discretization>
                    <type>BackwardEuler</type>
                </time_discretization>
                <time_stepping>
                    <type>FixedTimeStepping</type>
                    <t_initial>0</t_initial>
                    <t_end>100</t_end>
                    <timesteps>
                        <pair>
                            <repeat>1</repeat>
                            <delta_t>100</delta_t>
                        </pair>
                    </timesteps>
                </time_stepping>
            </process>
        </processes>
        <output>
            <type>VTK</type>
134
135
            <prefix>cube_1e0_tm</prefix>
            <suffix>_ts_{:timestep}_t_{:time}</suffix>
136
137
138
139
140
141
142
143
144
145
146
147
148
149
            <timesteps>
                <pair>
                    <repeat>1</repeat>
                    <each_steps>1</each_steps>
                </pair>
                <pair>
                    <repeat>1</repeat>
                    <each_steps>1</each_steps>
                </pair>
                <pair>
                    <repeat>1</repeat>
                    <each_steps>1</each_steps>
                </pair>
            </timesteps>
150
151
152
153
154
            <variables>
                <variable>temperature</variable>
                <variable>displacement</variable>
                <variable>phasefield</variable>
            </variables>
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
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
        </output>
    </time_loop>
    <parameters>
        <parameter>
            <name>E</name>
            <type>Constant</type>
            <value>2.1e5</value>
        </parameter>
        <parameter>
            <name>nu</name>
            <type>Constant</type>
            <value>0.3</value>
        </parameter>
        <parameter>
            <name>k</name>
            <type>Constant</type>
            <value>1e-3</value>
        </parameter>
        <parameter>
            <name>gc</name>
            <type>Constant</type>
            <value>2.7</value>
        </parameter>
        <parameter>
            <name>ls</name>
            <type>Constant</type>
            <value>1</value>
        </parameter>
        <parameter>
            <name>M</name>
            <type>Constant</type>
            <value>1e6</value>
        </parameter>
        <parameter>
            <name>rho_sr</name>
            <type>Constant</type>
            <value>1.2e-6</value>
        </parameter>
        <parameter>
            <name>alpha</name>
            <type>Constant</type>
            <value>1e-3</value>
        </parameter>
        <parameter>
            <name>cs</name>
            <type>Constant</type>
            <value>2000</value>
        </parameter>
        <parameter>
            <name>lambda</name>
            <type>Constant</type>
            <value>1e-1</value>
        </parameter>
        <parameter>
            <name>lambda_res</name>
            <type>Constant</type>
            <value>1e-1</value>
        </parameter>
        <parameter>
            <name>temperature_ic</name>
            <type>Constant</type>
            <value>0</value>
        </parameter>
        <parameter>
            <name>displacement0</name>
            <type>Constant</type>
            <values>0 0 0</values>
        </parameter>
        <parameter>
            <name>phasefield_ic</name>
            <type>Constant</type>
            <value>1</value>
        </parameter>
        <parameter>
            <name>dirichlet0</name>
            <type>Constant</type>
            <value>0</value>
        </parameter>
        <parameter>
            <name>Dirichlet_spatial</name>
            <type>Constant</type>
            <value>1</value>
        </parameter>
        <parameter>
            <name>temperature_bc</name>
            <type>CurveScaled</type>
            <curve>Dirichlet_temporal</curve>
            <parameter>Dirichlet_spatial</parameter>
        </parameter>
    </parameters>
    <curves>
        <curve>
            <name>Dirichlet_temporal</name>
            <coords>0 10 100</coords>
            <values>0 100 100</values>
        </curve>
    </curves>
    <process_variables>
        <process_variable>
            <name>temperature</name>
            <components>1</components>
            <order>1</order>
            <initial_condition>temperature_ic</initial_condition>
            <boundary_conditions>
                <boundary_condition>
                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
                    <geometry>top</geometry>
                    <type>Dirichlet</type>
                    <parameter>temperature_bc</parameter>
                </boundary_condition>
            </boundary_conditions>
        </process_variable>
        <process_variable>
            <name>displacement</name>
            <components>3</components>
            <order>1</order>
            <initial_condition>displacement0</initial_condition>
            <boundary_conditions>
                <!-- fixed boundaries -->
                <boundary_condition>
                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
                    <geometry>left</geometry>
                    <type>Dirichlet</type>
                    <component>0</component>
                    <parameter>dirichlet0</parameter>
                </boundary_condition>
                <boundary_condition>
                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
                    <geometry>back</geometry>
                    <type>Dirichlet</type>
                    <component>2</component>
                    <parameter>dirichlet0</parameter>
                </boundary_condition>
                <boundary_condition>
                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
                    <geometry>bottom</geometry>
                    <type>Dirichlet</type>
                    <component>1</component>
                    <parameter>dirichlet0</parameter>
                </boundary_condition>
                <boundary_condition>
                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
                    <geometry>top</geometry>
                    <type>Dirichlet</type>
                    <component>1</component>
                    <parameter>dirichlet0</parameter>
                </boundary_condition>
            </boundary_conditions>
        </process_variable>
        <process_variable>
            <name>phasefield</name>
            <components>1</components>
            <order>1</order>
            <initial_condition>phasefield_ic</initial_condition>
            <boundary_conditions>
                <boundary_condition>
                    <geometrical_set>cube_1x1x1_geometry</geometrical_set>
                    <geometry>bottom</geometry>
                    <type>PhaseFieldIrreversibleDamageOracleBoundaryCondition</type>
                    <component>0</component>
                </boundary_condition>
            </boundary_conditions>
        </process_variable>
    </process_variables>
    <nonlinear_solvers>
        <nonlinear_solver>
            <name>basic_newton_T</name>
            <type>Newton</type>
            <max_iter>500</max_iter>
            <linear_solver>linear_solver_T</linear_solver>
        </nonlinear_solver>
        <nonlinear_solver>
            <name>basic_newton_u</name>
            <type>Newton</type>
            <max_iter>500</max_iter>
            <linear_solver>linear_solver_u</linear_solver>
        </nonlinear_solver>
        <nonlinear_solver>
            <name>basic_newton_d</name>
            <type>Newton</type>
            <max_iter>500</max_iter>
            <linear_solver>linear_solver_d</linear_solver>
        </nonlinear_solver>
    </nonlinear_solvers>
    <linear_solvers>
        <linear_solver>
            <name>linear_solver_T</name>
            <eigen>
                <solver_type>SparseLU</solver_type>
            </eigen>
        </linear_solver>
        <linear_solver>
            <name>linear_solver_u</name>
            <eigen>
                <solver_type>SparseLU</solver_type>
            </eigen>
        </linear_solver>
        <linear_solver>
            <name>linear_solver_d</name>
            <eigen>
                <solver_type>SparseLU</solver_type>
            </eigen>
        </linear_solver>
    </linear_solvers>
</OpenGeoSysProject>