Skip to content
Snippets Groups Projects
Commit 2985d97f authored by Brian Groenke's avatar Brian Groenke
Browse files

Remove MTK dependency

parent 6f0d95be
No related branches found
No related tags found
1 merge request!45Add diagnostics + minor refactoring
......@@ -50,12 +50,6 @@ git-tree-sha1 = "ffabdf5297c9038973a0a3724132aa269f38c448"
uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
version = "1.1.0"
[[CSTParser]]
deps = ["Tokenize"]
git-tree-sha1 = "9723e1c07c1727082e169ca50789644a552fb023"
uuid = "00ebfdb7-1f24-5e51-bd34-a7502290713f"
version = "3.2.3"
[[ChainRules]]
deps = ["ChainRulesCore", "Compat", "LinearAlgebra", "Random", "Statistics"]
git-tree-sha1 = "85c579fa131b5545eef874a5b413bb3b783e21c6"
......@@ -73,12 +67,6 @@ git-tree-sha1 = "08c8b6831dc00bfea825826be0bc8336fc369860"
uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa"
version = "1.0.2"
[[CommonMark]]
deps = ["Crayons", "JSON", "URIs"]
git-tree-sha1 = "7632afc57f92720a01d9aedf23f413f4e5e21015"
uuid = "a80b9123-70ca-4bc0-993e-6e3bcb318db6"
version = "0.8.1"
[[CommonSolve]]
git-tree-sha1 = "68a0743f578349ada8bc911a5cbd5a2ef6ed6d1f"
uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2"
......@@ -117,11 +105,6 @@ git-tree-sha1 = "f74e9d5388b8620b4cee35d4c5a618dd4dc547f4"
uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9"
version = "1.3.0"
[[Crayons]]
git-tree-sha1 = "3f71217b538d7aaee0b69ab47d9b7724ca8afa0d"
uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f"
version = "4.0.4"
[[DataAPI]]
git-tree-sha1 = "ee400abb2298bd13bfc3df1c412ed228061a2385"
uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a"
......@@ -158,12 +141,6 @@ git-tree-sha1 = "0972ca167952dc426b5438fc188b846b7a66a1f3"
uuid = "459566f4-90b8-5000-8ac3-15dfb0a30def"
version = "2.16.1"
[[DiffEqJump]]
deps = ["ArrayInterface", "Compat", "DataStructures", "DiffEqBase", "FunctionWrappers", "LinearAlgebra", "PoissonRandom", "Random", "RandomNumbers", "RecursiveArrayTools", "StaticArrays", "TreeViews", "UnPack"]
git-tree-sha1 = "210ae4148a9b687680c74d13f415cc190fb2c101"
uuid = "c894b116-72e5-5b58-be3c-e6d8d4ac2b12"
version = "6.14.2"
[[DiffResults]]
deps = ["StaticArrays"]
git-tree-sha1 = "c18e98cba888c6c25d1c3b048e4b3380ca956805"
......@@ -354,12 +331,6 @@ git-tree-sha1 = "a61b471557f4cf73bc1047aef9c6aa941d115320"
uuid = "0f8b85d8-7281-11e9-16c2-39a750bddbf1"
version = "1.8.2"
[[JuliaFormatter]]
deps = ["CSTParser", "CommonMark", "DataStructures", "Pkg", "Tokenize"]
git-tree-sha1 = "9e7476b5e1dc749e525497eef53809893cb6c898"
uuid = "98e50ef6-434e-11e9-1051-2b60c6c9e899"
version = "0.14.8"
[[LaTeXStrings]]
git-tree-sha1 = "c7f1c695e06c01b95a67f0cd1d34994f3e7db104"
uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f"
......@@ -456,12 +427,6 @@ version = "1.0.0"
[[Mmap]]
uuid = "a63ad114-7e13-5084-954f-fe012c677804"
[[ModelingToolkit]]
deps = ["AbstractTrees", "ArrayInterface", "ConstructionBase", "DataStructures", "DiffEqBase", "DiffEqJump", "DiffRules", "Distributed", "Distributions", "DocStringExtensions", "DomainSets", "IfElse", "JuliaFormatter", "LabelledArrays", "Latexify", "Libdl", "LightGraphs", "LinearAlgebra", "MacroTools", "NaNMath", "NonlinearSolve", "RecursiveArrayTools", "Reexport", "Requires", "RuntimeGeneratedFunctions", "SafeTestsets", "SciMLBase", "Serialization", "Setfield", "SparseArrays", "SpecialFunctions", "StaticArrays", "SymbolicUtils", "Symbolics", "UnPack", "Unitful"]
git-tree-sha1 = "7344cc0ba1e2c4933f9b2545b8860483a9acf0d4"
uuid = "961ee093-0014-501f-94e3-6117800e7a78"
version = "5.21.0"
[[MozillaCACerts_jll]]
uuid = "14a3606d-f60d-562e-9121-12d972cd8159"
......@@ -553,12 +518,6 @@ version = "1.1.0"
deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"]
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
[[PoissonRandom]]
deps = ["Random", "Statistics", "Test"]
git-tree-sha1 = "44d018211a56626288b5d3f8c6497d28c26dc850"
uuid = "e409e4f3-bfea-5376-8464-e040bb5c01ab"
version = "0.4.0"
[[Polyester]]
deps = ["ArrayInterface", "IfElse", "Requires", "Static", "StrideArraysCore", "ThreadingUtilities", "VectorizationBase"]
git-tree-sha1 = "04a03d3f8ae906f4196b9085ed51506c4b466340"
......@@ -595,12 +554,6 @@ uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
deps = ["Serialization"]
uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
[[RandomNumbers]]
deps = ["Random", "Requires"]
git-tree-sha1 = "441e6fc35597524ada7f85e13df1f4e10137d16f"
uuid = "e6cf234a-135c-5ec9-84dd-332b85af5143"
version = "1.4.0"
[[Ratios]]
git-tree-sha1 = "37d210f612d70f3f7d57d488cb3b6eff56ad4e41"
uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439"
......@@ -667,12 +620,6 @@ git-tree-sha1 = "da6d214ffc85b1292f300649ef86d3c4f9aaf25d"
uuid = "476501e8-09a2-5ece-8869-fb82de89a1fa"
version = "0.6.22"
[[SafeTestsets]]
deps = ["Test"]
git-tree-sha1 = "36ebc5622c82eb9324005cc75e7e2cc51181d181"
uuid = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
version = "0.0.1"
[[SciMLBase]]
deps = ["ArrayInterface", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "RecipesBase", "RecursiveArrayTools", "StaticArrays", "Statistics", "Tables", "TreeViews"]
git-tree-sha1 = "45e6f0bdf4c7fc93e4368f42f52fd32ce12e9cf9"
......@@ -832,22 +779,12 @@ git-tree-sha1 = "209a8326c4f955e2442c07b56029e88bb48299c7"
uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f"
version = "0.5.12"
[[Tokenize]]
git-tree-sha1 = "eee92eda3cc8e104b7e56ff4c1fcf0d78ca37c89"
uuid = "0796e94c-ce3b-5d07-9a54-7f471281c624"
version = "0.5.18"
[[TreeViews]]
deps = ["Test"]
git-tree-sha1 = "8d0d7a3fe2f30d6a7f833a5f19f7c7a5b396eae6"
uuid = "a2a6695c-b41b-5b7d-aed9-dbfdeacea5d7"
version = "0.3.0"
[[URIs]]
git-tree-sha1 = "97bbe755a53fe859669cd907f2d96aee8d2c1355"
uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4"
version = "1.3.0"
[[UUIDs]]
deps = ["Random", "SHA"]
uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
......
name = "CryoGrid"
uuid = "a535b82e-5f3d-4d97-8b0b-d6483f5bebd5"
authors = ["Brian Groenke <brian.groenke@awi.de>", "Moritz Langer <moritz.langer@awi.de>"]
version = "0.2.6"
version = "0.2.7"
[deps]
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
......@@ -22,7 +22,6 @@ JSON3 = "0f8b85d8-7281-11e9-16c2-39a750bddbf1"
Lazy = "50d2b5c4-7a5e-59d5-8109-a42b560f39c0"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890"
ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78"
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a"
ProgressMeter = "92933f4c-e287-5a05-a399-4b506db050ca"
......
########
# Simple heat conduction model (no forcings)
# Uses ModelingToolkit
# Currently does not work because the MOL discretization strategy does not
# support variables without time derivatives, which is required for this model.
########
using DifferentialEquations
using DiffEqOperators
using ModelingToolkit
using IfElse
ivars = @parameters t z L θtot θm θo
dvars = @variables T(..) H(..) Hs(..) Hl(..) θ(..) C(..) k(..)
Dz = Differential(z)
Dt = Differential(t)
heatcap(θ,θtot,θm,θo) = heatcapacity(SoilParams(), θtot, θ, θm, θo)
thermalcond(θ,θtot,θm,θo) = thermalconductivity(SoilParams(), θtot, θ, θm, θo)
# free water freeze curve
dθdT(T,L,θtot) = IfElse.ifelse(T >= 0.0, IfElse.ifelse(T <= L*θtot, 1e8, 0.0), 0.0)
@register heatcap(θ,θtot,θm,θo)
@register thermalcond(θ,θtot,θm,θo)
@register dθdT(T,L,θtot)
function mtk_hc_phase_change_simple(dz = range(0.0,1000.0,length=100))
eqs = [
θ(t,z) ~ Hl / L,
C(t,z) ~ heatcap(θ,θtot,θm,θo),
T(t,z) ~ Hs / C,
H(t,z) ~ Hs + Hl,
k(t,z) ~ thermalcond(θ,θtot,θm,θo),
Dt(H) ~ Dz(k(t,z)*Dz(T(t,z))),
Dt(Hs) ~ Dt(H(t,z)) / (L/C*dθdT(T,L,θtot) + 1),
Dt(Hl) ~ Dt(H) - Dt(Hs),
]
# Space and time domains
domains = [t IntervalDomain(0.0,24*3600.0),
z IntervalDomain(0.0,1000.0)]
bcs = [
Hs(z,0.0) ~ -2e6,
Hs(0.0,t) ~ 2e6,
Hs(1000.0,t) ~ 0.05,
Hl(z,0.0) ~ 0.0,
Hl(0.0,t) ~ 0.0,
Hl(1000.0,t) ~ 0.0,
# T(z,0) ~ sin(z*π),
# T(0.0,t) ~ 10*sin(2π*t),
# T(1000.0,t) ~ 10.2
]
pdesys = PDESystem(eqs, bcs, domains, ivars, dvars)
discretization = MOLFiniteDifference([z=>dz],t)
return discretize(pdesys, discretization), pdesys
end
function mtk_hc_simple(dz = range(0.0,1000.0,length=100))
@parameters t z
@variables T(..) k(..)
Dz = Differential(z)
Dt = Differential(t)
eqs = [
Dt(T) ~ Dz(k(t,z)*Dz(T(t,z)))
]
# Space and time domains
domains = [t IntervalDomain(0.0,24*3600.0),
z IntervalDomain(0.0,1000.0)]
bcs = [
T(0,z) ~ sin(π*z),
T(t,0.0) ~ 0.0,
T(t,1000.0) ~ 10.2,
k(0,z) ~ 1 + 0.5*sin(z)
]
pdesys = PDESystem(eqs, bcs, domains, [t,z], [T,k])
discretization = MOLFiniteDifference([z=>dz],t)
return discretize(pdesys, discretization), pdesys
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment