Skip to content

Commit a2cfb5e

Browse files
committed
Rayleigh dispersion curves
- Gutenberg model
1 parent 812a289 commit a2cfb5e

File tree

5 files changed

+1130
-39
lines changed

5 files changed

+1130
-39
lines changed

src/introduction/waves-on-string.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ PlutoUI = "~0.7.65"
225225
PLUTO_MANIFEST_TOML_CONTENTS = """
226226
# This file is machine-generated - editing it directly is not advised
227227
228-
julia_version = "1.11.5"
228+
julia_version = "1.11.6"
229229
manifest_format = "2.0"
230230
project_hash = "b9d0c54cc1aed75c67eb364c4722edbde56ef19c"
231231

src/surfacewaves/Love-wave-analytic1.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -630,7 +630,7 @@ Symbolics = "~6.12.0"
630630
PLUTO_MANIFEST_TOML_CONTENTS = """
631631
# This file is machine-generated - editing it directly is not advised
632632
633-
julia_version = "1.11.5"
633+
julia_version = "1.11.6"
634634
manifest_format = "2.0"
635635
project_hash = "6148517c7c28f34361da64be253ff296fe4fb695"
636636

src/surfacewaves/Love-wave-dispersion-curves.jl

Lines changed: 87 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,6 @@ Instructor: *Pawan Bharadwaj*,
4646
Indian Institute of Science, Bengaluru, India
4747
"""
4848

49-
# ╔═╡ 1af153bc-e471-4608-984b-61f1116dfa16
50-
md"""
51-
Number of layers: $(@bind n_layers Slider(1:5, default=2, show_value=true))
52-
"""
53-
5449
# ╔═╡ d2c48242-92ce-11f0-01e6-cb1b8fe1fecb
5550

5651
struct Layer
@@ -100,7 +95,7 @@ struct DispersionResult
10095
end
10196

10297
# ╔═╡ 756e06e3-4f25-4f55-b242-26a45a1b7dd3
103-
periods = 5.0:5.0:100.0
98+
periods = collect(range(5.0, stop=100.0, length=64))
10499

105100
# ╔═╡ 9c9ad5f6-debf-4376-aaf6-759e9b0c949b
106101
"""
@@ -317,27 +312,62 @@ end
317312
# ╔═╡ 80086cb5-7e39-444b-a85e-ddf46a67ec42
318313
md"## Appendix"
319314

315+
# ╔═╡ 5a43781a-b3e4-4bac-86d1-bd822c169804
316+
const GUTENBERG_MODEL = [
317+
Layer(19.0, 6.14, 3.55, 2.74, 1000.0, 1000.0),
318+
Layer(19.0, 6.58, 3.80, 3.00, 1000.0, 1000.0),
319+
Layer(12.0, 8.20, 4.65, 3.32, 1000.0, 1000.0),
320+
Layer(10.0, 8.17, 4.62, 3.34, 1000.0, 1000.0),
321+
Layer(10.0, 8.14, 4.57, 3.35, 1000.0, 1000.0),
322+
Layer(10.0, 8.10, 4.51, 3.36, 1000.0, 1000.0),
323+
Layer(10.0, 8.07, 4.46, 3.37, 1000.0, 1000.0),
324+
Layer(10.0, 8.02, 4.41, 3.38, 1000.0, 1000.0),
325+
Layer(25.0, 7.93, 4.37, 3.39, 1000.0, 1000.0),
326+
Layer(25.0, 7.85, 4.35, 3.41, 1000.0, 1000.0),
327+
Layer(25.0, 7.89, 4.36, 3.43, 1000.0, 1000.0),
328+
Layer(25.0, 7.98, 4.38, 3.46, 1000.0, 1000.0),
329+
Layer(25.0, 8.10, 4.42, 3.48, 1000.0, 1000.0),
330+
Layer(25.0, 8.21, 4.46, 3.50, 1000.0, 1000.0),
331+
Layer(50.0, 8.38, 4.54, 3.53, 1000.0, 1000.0),
332+
Layer(50.0, 8.62, 4.68, 3.58, 1000.0, 1000.0),
333+
Layer(50.0, 8.87, 4.85, 3.62, 1000.0, 1000.0),
334+
Layer(50.0, 9.15, 5.04, 3.69, 1000.0, 1000.0),
335+
Layer(50.0, 9.45, 5.21, 3.82, 1000.0, 1000.0),
336+
Layer(100.0, 9.88, 5.45, 4.01, 1000.0, 1000.0),
337+
Layer(100.0, 10.30, 5.76, 4.21, 1000.0, 1000.0),
338+
Layer(100.0, 10.71, 6.03, 4.40, 1000.0, 1000.0),
339+
Layer(100.0, 11.10, 6.23, 4.56, 1000.0, 1000.0),
340+
Layer(100.0, 11.35, 6.32, 4.63, 1000.0, 1000.0)
341+
]
342+
343+
# ╔═╡ 05d910d2-527c-416f-9d63-c259fbe8a45d
344+
default_layers = GUTENBERG_MODEL;
345+
346+
# ╔═╡ 1af153bc-e471-4608-984b-61f1116dfa16
347+
md"""
348+
Number of layers: $(@bind n_layers Slider(1:length(default_layers), default=length(default_layers), show_value=true))
349+
"""
350+
320351
# ╔═╡ 99e9fc2c-fe13-4f94-b613-86cedb0f3653
321352
function layer_table_input(n_layers::Int; vp_vs_ratio=1.73)
322353
ui = PlutoUI.combine() do Child
323354
# header
324355
header = @htl("""
325-
<tr style="background:#f0f3f8; text-align:center;">
356+
<tr style="text-align:center;">
326357
<th style="padding:6px;">#</th>
327-
<th style="padding:6px;">Thickness</th>
328-
<th style="padding:6px;">Vs</th>
329-
<th style="padding:6px;">Density</th>
358+
<th style="padding:6px;">Thickness (km)</th>
359+
<th style="padding:6px;">Vs (km/s)</th>
360+
<th style="padding:6px;">Density (gm/cc)</th>
330361
</tr>
331362
""")
332363

333-
# rows
334-
rows = Any[]
364+
rows = Any[]
335365
for i in 1:n_layers
336-
# no thickness slider for last layer (half-space)
337-
tw = i < n_layers ? Child("thickness_$i", Slider(0.5:0.5:200, default=35, show_value=true)) : ""
338-
339-
vs = Child("vs_$i", Slider(2.5:0.01:5.5, default=(i == 1) ? 3.4 : 4.6, show_value=true))
340-
rw = Child("rho_$i", Slider(1.0:0.01:6.0, default=(i == 1) ? 2.6 : 3.4, show_value=true))
366+
# Use Gutenberg model values if available, else fallback
367+
layer = i <= length(default_layers) ? default_layers[i] : default_layers[end]
368+
tw = i < n_layers ? Child("thickness_$i", Slider(0.5:0.5:200, default=layer.thickness, show_value=true)) : ""
369+
vs = Child("vs_$i", Slider(2.5:0.01:8.0, default=layer.vs, show_value=true))
370+
rw = Child("rho_$i", Slider(1.0:0.01:6.0, default=layer.rho, show_value=true))
341371

342372
push!(rows, @htl("""
343373
<tr>
@@ -349,6 +379,7 @@ function layer_table_input(n_layers::Int; vp_vs_ratio=1.73)
349379
"""))
350380
end
351381

382+
352383
tbl = @htl("""
353384
<table style="border-collapse:collapse; border:1px solid #ddd; width:100%;">
354385
<thead>$header</thead>
@@ -363,8 +394,7 @@ function layer_table_input(n_layers::Int; vp_vs_ratio=1.73)
363394
Number of layers: **$n_layers**
364395
365396
$tbl
366-
_Notes:_ Thickness in km.
367-
Constraint enforced: **Vp = $(vp_vs_ratio) × Vs > Vs**
397+
_Notes:_
368398
The last layer is treated as a half-space (no thickness).
369399
"""
370400
end
@@ -453,7 +483,7 @@ Roots = "f2b01f46-fcfa-551c-844a-d8ac1e96c665"
453483
454484
[compat]
455485
HypertextLiteral = "~0.9.5"
456-
PlutoPlotly = "~0.3.4"
486+
PlutoPlotly = "~0.6.4"
457487
PlutoUI = "~0.7.71"
458488
Roots = "~2.2.6"
459489
"""
@@ -464,7 +494,7 @@ PLUTO_MANIFEST_TOML_CONTENTS = """
464494
465495
julia_version = "1.11.6"
466496
manifest_format = "2.0"
467-
project_hash = "9038c24234f0293a4bad7fb0208acaec306d02e2"
497+
project_hash = "0264277e532391f8f3beb74860e3dc79469a39a9"
468498
469499
[[deps.AbstractPlutoDingetjes]]
470500
deps = ["Pkg"]
@@ -516,19 +546,15 @@ version = "3.30.0"
516546
517547
[[deps.ColorTypes]]
518548
deps = ["FixedPointNumbers", "Random"]
519-
git-tree-sha1 = "67e11ee83a43eb71ddc950302c53bf33f0690dfe"
549+
git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d"
520550
uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f"
521-
version = "0.12.1"
522-
weakdeps = ["StyledStrings"]
523-
524-
[deps.ColorTypes.extensions]
525-
StyledStringsExt = "StyledStrings"
551+
version = "0.11.5"
526552
527553
[[deps.ColorVectorSpace]]
528554
deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "Requires", "Statistics", "TensorCore"]
529-
git-tree-sha1 = "8b3b6f87ce8f65a2b4f857528fd8d70086cd72b1"
555+
git-tree-sha1 = "a1f44953f2382ebb937d60dafbe2deea4bd23249"
530556
uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4"
531-
version = "0.11.0"
557+
version = "0.10.0"
532558
533559
[deps.ColorVectorSpace.extensions]
534560
SpecialFunctionsExt = "SpecialFunctions"
@@ -538,9 +564,9 @@ version = "0.11.0"
538564
539565
[[deps.Colors]]
540566
deps = ["ColorTypes", "FixedPointNumbers", "Reexport"]
541-
git-tree-sha1 = "37ea44092930b1811e666c3bc38065d7d87fcc74"
567+
git-tree-sha1 = "362a287c3aa50601b0bc359053d5c2468f0e7ce0"
542568
uuid = "5ae59095-9a9b-59fe-a467-6f913c188581"
543-
version = "0.13.1"
569+
version = "0.12.11"
544570
545571
[[deps.CommonSolve]]
546572
git-tree-sha1 = "0eee5eb66b1cf62cd6ad1b460238e60e4b09400c"
@@ -607,6 +633,11 @@ git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172"
607633
uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
608634
version = "0.8.5"
609635
636+
[[deps.HashArrayMappedTries]]
637+
git-tree-sha1 = "2eaa69a7cab70a52b9687c8bf950a5a93ec895ae"
638+
uuid = "076d061b-32b6-4027-95e0-9a2c6f6d7e74"
639+
version = "0.2.0"
640+
610641
[[deps.Hyperscript]]
611642
deps = ["Test"]
612643
git-tree-sha1 = "179267cfa5e712760cd43dcae385d7ea90cc25a4"
@@ -771,10 +802,18 @@ version = "0.8.21"
771802
JSON3 = "0f8b85d8-7281-11e9-16c2-39a750bddbf1"
772803
773804
[[deps.PlutoPlotly]]
774-
deps = ["AbstractPlutoDingetjes", "Dates", "HypertextLiteral", "InteractiveUtils", "LaTeXStrings", "Markdown", "PlotlyBase", "PlutoUI", "Reexport"]
775-
git-tree-sha1 = "b470931aa2a8112c8b08e66ea096c6c62c60571e"
805+
deps = ["AbstractPlutoDingetjes", "Artifacts", "ColorSchemes", "Colors", "Dates", "Downloads", "HypertextLiteral", "InteractiveUtils", "LaTeXStrings", "Markdown", "Pkg", "PlotlyBase", "PrecompileTools", "Reexport", "ScopedValues", "Scratch", "TOML"]
806+
git-tree-sha1 = "232630fee92e588c11c2b260741b4fa70784b4c5"
776807
uuid = "8e989ff0-3d88-8e9f-f020-2b208a939ff0"
777-
version = "0.3.4"
808+
version = "0.6.4"
809+
810+
[deps.PlutoPlotly.extensions]
811+
PlotlyKaleidoExt = "PlotlyKaleido"
812+
UnitfulExt = "Unitful"
813+
814+
[deps.PlutoPlotly.weakdeps]
815+
PlotlyKaleido = "f2990250-8cf9-495f-b13a-cce12b45703c"
816+
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
778817
779818
[[deps.PlutoUI]]
780819
deps = ["AbstractPlutoDingetjes", "Base64", "ColorTypes", "Dates", "Downloads", "FixedPointNumbers", "Hyperscript", "HypertextLiteral", "IOCapture", "InteractiveUtils", "JSON", "Logging", "MIMEs", "Markdown", "Random", "Reexport", "URIs", "UUIDs"]
@@ -844,6 +883,18 @@ version = "2.2.6"
844883
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
845884
version = "0.7.0"
846885
886+
[[deps.ScopedValues]]
887+
deps = ["HashArrayMappedTries", "Logging"]
888+
git-tree-sha1 = "c3b2323466378a2ba15bea4b2f73b081e022f473"
889+
uuid = "7e506255-f358-4e82-b7e4-beb19740aa63"
890+
version = "1.5.0"
891+
892+
[[deps.Scratch]]
893+
deps = ["Dates"]
894+
git-tree-sha1 = "9b81b8393e50b7d4e6d0a9f14e192294d3b7c109"
895+
uuid = "6c6a2e73-6563-6170-7368-637461726353"
896+
version = "1.3.0"
897+
847898
[[deps.Serialization]]
848899
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
849900
version = "1.11.0"
@@ -958,6 +1009,8 @@ version = "17.4.0+2"
9581009
# ╠═29afa36b-391f-4861-aead-d62918daf3c6
9591010
# ╠═8d5d9594-2197-4ccc-a7a4-0f0d54a2370a
9601011
# ╠═99e9fc2c-fe13-4f94-b613-86cedb0f3653
1012+
# ╠═5a43781a-b3e4-4bac-86d1-bd822c169804
1013+
# ╠═05d910d2-527c-416f-9d63-c259fbe8a45d
9611014
# ╟─fc1fd90c-020a-4f2d-aedd-66115ac6a287
9621015
# ╟─00000000-0000-0000-0000-000000000001
9631016
# ╟─00000000-0000-0000-0000-000000000002

src/surfacewaves/Rayleigh-function.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
### A Pluto.jl notebook ###
2-
# v0.20.5
2+
# v0.20.13
33

44
#> [frontmatter]
55
#> title = "Rayleigh Function"
@@ -418,7 +418,7 @@ Symbolics = "~6.12.0"
418418
PLUTO_MANIFEST_TOML_CONTENTS = """
419419
# This file is machine-generated - editing it directly is not advised
420420
421-
julia_version = "1.11.4"
421+
julia_version = "1.11.6"
422422
manifest_format = "2.0"
423423
project_hash = "a4c9aa60b01da02b7637d7404f9276db98797133"
424424
@@ -1044,7 +1044,7 @@ version = "0.3.27+1"
10441044
[[deps.OpenLibm_jll]]
10451045
deps = ["Artifacts", "Libdl"]
10461046
uuid = "05823500-19ac-5b8b-9628-191a04bc5112"
1047-
version = "0.8.1+4"
1047+
version = "0.8.5+0"
10481048
10491049
[[deps.OpenSpecFun_jll]]
10501050
deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"]

0 commit comments

Comments
 (0)