Mercurial > repos > public > sbplib_julia
changeset 1608:8315c456e3b4 feature/boundary_conditions
Simplify parsing of constants from stencil set
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Sun, 09 Jun 2024 00:17:44 +0200 |
parents | 7216448d0c5a |
children | 8ebcac8edd9d |
files | src/SbpOperators/SbpOperators.jl src/SbpOperators/stencil_set.jl src/SbpOperators/volumeops/laplace/laplace.jl test/SbpOperators/stencil_set_test.jl |
diffstat | 4 files changed, 3 insertions(+), 30 deletions(-) [+] |
line wrap: on
line diff
--- a/src/SbpOperators/SbpOperators.jl Sun Jun 09 00:02:40 2024 +0200 +++ b/src/SbpOperators/SbpOperators.jl Sun Jun 09 00:17:44 2024 +0200 @@ -8,7 +8,6 @@ export parse_nested_stencil export parse_scalar export parse_tuple -export parse_named_tuple export sbp_operators_path # Operators
--- a/src/SbpOperators/stencil_set.jl Sun Jun 09 00:02:40 2024 +0200 +++ b/src/SbpOperators/stencil_set.jl Sun Jun 09 00:17:44 2024 +0200 @@ -166,17 +166,6 @@ return Tuple(parse_scalar.(parsed_toml)) end -""" - parse_named_tuple(parsed_toml) - -Parse the keys (names) and values (scalars) into a named tuple of rationals. - -See also [`parse_scalar`](@ref). -""" -function parse_named_tuple(parsed_toml) - NamedTuple(Symbol(key) => parse_scalar(val) for (key, val) in parsed_toml) -end - """ parse_rational(parsed_toml)
--- a/src/SbpOperators/volumeops/laplace/laplace.jl Sun Jun 09 00:02:40 2024 +0200 +++ b/src/SbpOperators/volumeops/laplace/laplace.jl Sun Jun 09 00:17:44 2024 +0200 @@ -104,11 +104,11 @@ # TODO: We should consider implementing a proper BoundaryIdentifier for EquidistantGrid and then # change bc::BoundaryCondition to id::BoundaryIdentifier function positivity_limits(Δ::Laplace, g::EquidistantGrid, bc::DirichletCondition) - pos_prop = positivity_properties(Δ) h = spacing(g) - θ_H = pos_prop.theta_H + θ_H = parse_scalar(Δ.stencil_set["H"]["closure"][1]) + θ_R = parse_scalar(Δ.stencil_set["D2"]["positivity"]["theta_R"]) + τ_H = 1/(h*θ_H) - θ_R = pos_prop.theta_R τ_R = 1/(h*θ_R) return τ_H, τ_R end @@ -117,10 +117,3 @@ τ_H, τ_R = positivity_limits(Δ, g.grids[grid_id(boundary(bc))], bc) return τ_H*ndims(g), τ_R end - - -function positivity_properties(Δ::Laplace) - D2_pos_prop = parse_named_tuple(Δ.stencil_set["D2"]["positivity"]) - H_closure = parse_tuple(Δ.stencil_set["H"]["closure"]) - return merge(D2_pos_prop, (theta_H = H_closure[1],)) -end
--- a/test/SbpOperators/stencil_set_test.jl Sun Jun 09 00:02:40 2024 +0200 +++ b/test/SbpOperators/stencil_set_test.jl Sun Jun 09 00:17:44 2024 +0200 @@ -152,14 +152,6 @@ @test_throws ArgumentError parse_tuple(toml["e3"]) @test_throws ArgumentError parse_tuple(toml["e4"]) end - - @testset "parse_named_tuple" begin - toml = TOML.parse(""" - NamedTuple = {a = "17/48", b = "0.2505765857"} - """) - @test parse_named_tuple(toml["NamedTuple"]) == (b = Rational(0.2505765857), a = 17//48) - end - end @testset "parse_rational" begin