forked from LukeMondy/lithospheric_modelling_recipe
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlmrThermalBoundaries.xml
103 lines (93 loc) · 4.16 KB
/
lmrThermalBoundaries.xml
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
<?xml version="1.0" encoding="UTF-8"?>
<StGermainData xmlns="http://www.vpac.org/StGermain/XML_IO_Handler/Jun2003">
<struct name="temperatureBCs">
<param name="type"> CompositeVC </param>
<list name="vcList">
<struct>
<param name="type"> WallVC </param>
<param name="wall"> top </param>
<list name="variables">
<struct>
<param name="name"> temperature </param>
<param name="type"> double </param>
<param name="value" units="K"> 293.15 </param>
</struct>
</list>
</struct>
<struct>
<param name="type"> WallVC </param>
<param name="wall"> bottom </param>
<list name="variables">
<struct>
<param name="name"> temperature </param>
<param name="type"> double </param>
<param name="value" units="K"> 1623 </param>
</struct>
</list>
</struct>
<!-- Note: you can force a temperature (or any VC) to be set
within a particular area of the model by using a
MeshShapeVC. For example: -->
<struct>
<param name="type"> MeshShapeVC </param>
<param name="Shape"> airShape </param>
<list name="variables">
<struct>
<param name="name">temperature</param>
<param name="type">double</param>
<param name="value" units="K"> 293.15 </param>
</struct>
</list>
</struct>
</list>
</struct>
<!-- === Heat flux boundary condition ============================== -->
<!-- A heat flux BC can be applied to a wall, rather than a fixed
temperature. To do so, comment out the bottom wallVC defined above,
and un-comment the following "thermalFluxBC" struct. The XML code
following that defines the vector of flux, and the calculations that
go into it.
-->
<struct name="components" mergeType="merge">
<!--
<struct name="thermalFluxBC">
<param name="Surface"> bottom </param>
<param name="functionLabel"> heat_flux_vector </param>
<param name="Type"> VectorSurfaceAssemblyTerm_NA__Fi__ni </param>
<param name="ForceVector"> residual </param>
<param name="Swarm"> borderGaussSwarm </param>
</struct>
-->
<struct name="basal_heat_flow">
<!-- Heat flow at _moho_ ranges from ~10 to ~20 mW/m^2
See Jaupart and Mareschal, Treatise on Geophysics, 2007
Adjust for depth to the base of your model. -->
<param name="Type"> Ppc_Constant </param>
<param name="Value" units="mW/(m*m)"> 20 </param>
</struct>
<struct name="heat_flux_vector">
<param name="Type"> Ppc_a_Vector </param>
<param name="Alpha"> basal_heat_flux </param>
<param name="vi"> 0 </param>
<param name="vj"> 1 </param>
<param name="vk"> 0 </param>
</struct>
<struct name="basal_heat_flux">
<param name="Type"> Ppc_Operation </param>
<param name="Operation"> / </param>
<list name="Properties">
<param> basal_heat_flow </param>
<param> basal_rho_cp </param>
</list>
</struct>
<struct name="basal_rho_cp">
<param name="Type"> Ppc_Operation </param>
<param name="Operation"> * </param>
<list name="Properties">
<param units="kg/m^3"> 3360 </param> <!-- Note this is an approximation -->
<param units="J/(K*kg)"> 1000 </param>
</list>
</struct>
</struct>
<!-- === End of Heat flux boundary condition ======================= -->
</StGermainData>