Mercurial > repos > public > sbplib_julia
comparison test/Grids/mapped_grid_test.jl @ 1739:e1ae5d8e30c3 feature/grids/curvilinear
Add tests for jacobian_determinant, metric_tensor, and metric_tensor_inverse
| author | Jonatan Werpers <jonatan@werpers.com> |
|---|---|
| date | Wed, 11 Sep 2024 08:59:03 +0200 |
| parents | 7573c9244e47 |
| children | 9f2bc8ea6a07 |
comparison
equal
deleted
inserted
replaced
| 1738:7573c9244e47 | 1739:e1ae5d8e30c3 |
|---|---|
| 239 | 239 |
| 240 @test mapped_grid(lg, x̄, J) == mg | 240 @test mapped_grid(lg, x̄, J) == mg |
| 241 end | 241 end |
| 242 | 242 |
| 243 @testset "jacobian_determinant" begin | 243 @testset "jacobian_determinant" begin |
| 244 @test_broken false | 244 x̄((ξ, η)) = @SVector[ξ*η, ξ + η^2] |
| 245 J((ξ, η)) = @SMatrix[ | |
| 246 η ξ; | |
| 247 1 2η; | |
| 248 ] | |
| 249 | |
| 250 g = mapped_grid(x̄, J, 10, 11) | |
| 251 J = map(logicalgrid(g)) do (ξ,η) | |
| 252 2η^2 - ξ | |
| 253 end | |
| 254 @test jacobian_determinant(g) ≈ J | |
| 245 end | 255 end |
| 246 | 256 |
| 247 @testset "metric_tensor" begin | 257 @testset "metric_tensor" begin |
| 248 @test_broken false | 258 x̄((ξ, η)) = @SVector[ξ*η, ξ + η^2] |
| 259 J((ξ, η)) = @SMatrix[ | |
| 260 η ξ; | |
| 261 1 2η; | |
| 262 ] | |
| 263 | |
| 264 g = mapped_grid(x̄, J, 10, 11) | |
| 265 G = map(logicalgrid(g)) do (ξ,η) | |
| 266 @SMatrix[ | |
| 267 1+η^2 ξ*η+2η; | |
| 268 ξ*η+2η ξ^2 + 4η^2; | |
| 269 ] | |
| 270 end | |
| 271 @test metric_tensor(g) ≈ G | |
| 249 end | 272 end |
| 250 | 273 |
| 251 @testset "metric_tensor_inverse" begin | 274 @testset "metric_tensor_inverse" begin |
| 252 @test_broken false | 275 x̄((ξ, η)) = @SVector[ξ + ξ^2/2, η + η^2 + ξ^2/2] |
| 276 J((ξ, η)) = @SMatrix[ | |
| 277 1+ξ 0; | |
| 278 ξ 1+η; | |
| 279 ] | |
| 280 | |
| 281 g = mapped_grid(x̄, J, 10, 11) | |
| 282 G⁻¹ = map(logicalgrid(g)) do (ξ,η) | |
| 283 @SMatrix[ | |
| 284 (1+η)^2 -ξ*(1+η); | |
| 285 -ξ*(1+η) (1+ξ)^2+ξ^2; | |
| 286 ]/(((1+ξ)^2+ξ^2)*(1+η)^2 - ξ^2*(1+η)^2) | |
| 287 | |
| 288 end | |
| 289 | |
| 290 @test metric_tensor_inverse(g) ≈ G⁻¹ | |
| 253 end | 291 end |
| 254 | 292 |
| 255 @testset "min_spacing" begin | 293 @testset "min_spacing" begin |
| 256 let g = mapped_grid(identity, x->@SMatrix[1], 11) | 294 let g = mapped_grid(identity, x->@SMatrix[1], 11) |
| 257 @test min_spacing(g) ≈ 0.1 | 295 @test min_spacing(g) ≈ 0.1 |
