-
Notifications
You must be signed in to change notification settings - Fork 235
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
loop over look-up tables, calculate material properties by volume or …
…mass of different chemical compositions
- Loading branch information
Showing
8 changed files
with
7,186 additions
and
16 deletions.
There are no files selected for viewing
6,913 changes: 6,913 additions & 0 deletions
6,913
data/material-model/entropy-table/opxtable/multi_composition_test.txt
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
/* | ||
Copyright (C) 2022 by the authors of the ASPECT code. | ||
This file is part of ASPECT. | ||
ASPECT is free software; you can redistribute it and/or modify | ||
it under the terms of the GNU General Public License as published by | ||
the Free Software Foundation; either version 2, or (at your option) | ||
any later version. | ||
ASPECT is distributed in the hope that it will be useful, | ||
but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
GNU General Public License for more details. | ||
You should have received a copy of the GNU General Public License | ||
along with ASPECT; see the file LICENSE. If not see | ||
<http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
#include "../benchmarks/entropy_adiabat/plugins/entropy_advection.cc" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
# A box model with two compositions. It reads in two look-up tables | ||
# and computes the initial property based on the chemical compositions. | ||
|
||
set Dimension = 2 | ||
set Use years in output instead of seconds = true | ||
set End time = 0 | ||
set Maximum time step = 1e6 | ||
set Nonlinear solver scheme = iterated Advection and Stokes | ||
set Max nonlinear iterations = 50 | ||
set Surface pressure = 0 | ||
set Adiabatic surface temperature = 1560.29 | ||
|
||
subsection Formulation | ||
set Mass conservation = projected density field | ||
end | ||
|
||
subsection Geometry model | ||
set Model name = box | ||
|
||
subsection Box | ||
set X extent = 13000 | ||
set Y extent = 13000 | ||
set Y repetitions = 1 | ||
end | ||
end | ||
|
||
|
||
subsection Adiabatic conditions model | ||
# 'compute entropy profile' computes arbitrary adiabats | ||
# internally, based on the data table. | ||
set Model name = compute entropy profile | ||
|
||
subsection Compute entropy profile | ||
# Entropy equivalent to T=1560.29 K according to the used table | ||
set Surface entropy = 2500 | ||
end | ||
end | ||
|
||
# We prescribe temperatures according to the data table. | ||
# This output is computed in the material model. | ||
subsection Temperature field | ||
set Temperature method = prescribed field with diffusion | ||
end | ||
|
||
# We solve the entropy equation for the compositional field with type | ||
# 'entropy'. Temperature and density are then computed based on entropy and | ||
# pressure. | ||
subsection Compositional fields | ||
set Number of fields = 4 | ||
set Names of fields = percent_bas, entropy_bas, entropy_haz, density_field | ||
set Types of fields = chemical composition, entropy, entropy, density | ||
set Compositional field methods = field, field, field, prescribed field | ||
end | ||
|
||
|
||
# Prescribing closed boundaries. | ||
subsection Boundary velocity model | ||
set Tangential velocity boundary indicators = top, left, right, bottom | ||
end | ||
|
||
subsection Gravity model | ||
set Model name = vertical | ||
|
||
subsection Vertical | ||
set Magnitude = 0 | ||
end | ||
end | ||
|
||
# We start at the same entropy as the one used for the | ||
# adiabatic profile. The last compositional field gives | ||
# the analytical solution for the temperature at the | ||
# end of the model run based on the half-space cooling | ||
# model. | ||
subsection Initial composition model | ||
set List of model names = function | ||
|
||
subsection Function | ||
# Entropy equivalent to T=1560.29 K according to table | ||
set Function expression = 0.2; 2500; 2500; 0.0 | ||
|
||
end | ||
end | ||
|
||
# We use a data table for orthopyroxene computed using the thermodynamic | ||
# modeling software HeFESTo. | ||
# We use a very large viscosity to make sure the material does not move. | ||
subsection Material model | ||
set Model name = entropy model | ||
|
||
subsection Entropy model | ||
set Data directory = $ASPECT_SOURCE_DIR/data/material-model/entropy-table/opxtable/ | ||
set Material file name = material_table.txt, multi_composition_test.txt | ||
set Maximum viscosity = 1e30 | ||
set Minimum viscosity = 1e30 | ||
set Lateral viscosity file name = constant_lateral_vis_prefactor.txt | ||
set Thermal conductivity formulation = constant | ||
set Thermal conductivity = 4.7 | ||
end | ||
end | ||
|
||
subsection Mesh refinement | ||
set Initial global refinement = 0 | ||
set Initial adaptive refinement = 0 | ||
set Time steps between mesh refinement = 0 | ||
end | ||
|
||
subsection Postprocess | ||
set List of postprocessors = visualization, velocity statistics, temperature statistics, mass flux statistics, composition statistics | ||
|
||
subsection Visualization | ||
set Time between graphical output = 1e8 | ||
set List of output variables = material properties, adiabat, nonadiabatic pressure, nonadiabatic temperature | ||
|
||
subsection Material properties | ||
set List of material properties = density,thermal expansivity,specific heat,viscosity, compressibility | ||
end | ||
|
||
set Output format = gnuplot | ||
end | ||
end |
20 changes: 20 additions & 0 deletions
20
tests/entropy_read_multi_table/solution/solution-00000.0000.gnuplot
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# 1: Time step number | ||
# 2: Time (years) | ||
# 3: Time step size (years) | ||
# 4: Number of mesh cells | ||
# 5: Number of Stokes degrees of freedom | ||
# 6: Number of temperature degrees of freedom | ||
# 7: Number of degrees of freedom for all compositions | ||
# 8: Number of nonlinear iterations | ||
# 9: Iterations for temperature solver | ||
# 10: Iterations for composition solver 1 | ||
# 11: Iterations for composition solver 2 | ||
# 12: Iterations for composition solver 3 | ||
# 13: Iterations for composition solver 4 | ||
# 14: Iterations for Stokes solver | ||
# 15: Velocity iterations in Stokes preconditioner | ||
# 16: Schur complement iterations in Stokes preconditioner | ||
# 17: Visualization file name | ||
# 18: RMS velocity (m/year) | ||
# 19: Max. velocity (m/year) | ||
# 20: Minimal temperature (K) | ||
# 21: Average temperature (K) | ||
# 22: Maximal temperature (K) | ||
# 23: Outward mass flux through boundary with indicator 0 ("left") (kg/yr) | ||
# 24: Outward mass flux through boundary with indicator 1 ("right") (kg/yr) | ||
# 25: Outward mass flux through boundary with indicator 2 ("bottom") (kg/yr) | ||
# 26: Outward mass flux through boundary with indicator 3 ("top") (kg/yr) | ||
# 27: Minimal value for composition percent_bas | ||
# 28: Maximal value for composition percent_bas | ||
# 29: Global mass for composition percent_bas | ||
# 30: Minimal value for composition entropy_bas | ||
# 31: Maximal value for composition entropy_bas | ||
# 32: Global mass for composition entropy_bas | ||
# 33: Minimal value for composition entropy_haz | ||
# 34: Maximal value for composition entropy_haz | ||
# 35: Global mass for composition entropy_haz | ||
# 36: Minimal value for composition density_field | ||
# 37: Maximal value for composition density_field | ||
# 38: Global mass for composition density_field | ||
0 0.000000000000e+00 0.000000000000e+00 1 22 9 36 2 1 0 0 0 4294967294 4294967294 0 0 output-entropy_read_multi_table/solution/solution-00000 0.00000000e+00 0.00000000e+00 1.56029000e+03 1.56029000e+03 1.56029000e+03 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.00000000e-01 2.00000000e-01 3.38000000e+07 2.50000000e+03 2.50000000e+03 4.22500000e+11 2.50000000e+03 2.50000000e+03 4.22500000e+11 3.74396667e+03 3.74396667e+03 6.32730367e+11 |