From 4b04cd20d79608f62b72e33037f09a9154755ee1 Mon Sep 17 00:00:00 2001 From: SimonCan Date: Fri, 18 Oct 2024 17:48:15 +0100 Subject: [PATCH] Added commentson next steps. --- src/meshes/p4est_mesh_view.jl | 4 ++++ src/solvers/dgsem_p4est/containers.jl | 2 ++ src/solvers/dgsem_p4est/containers_2d.jl | 2 -- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/meshes/p4est_mesh_view.jl b/src/meshes/p4est_mesh_view.jl index 469f1c154e..3bfa15cbc0 100644 --- a/src/meshes/p4est_mesh_view.jl +++ b/src/meshes/p4est_mesh_view.jl @@ -11,6 +11,8 @@ A view on a p4est mesh. mutable struct P4estMeshView{NDIMS, NDIMS_AMBIENT, RealT <: Real, Parent} <: AbstractMesh{NDIMS} parent::Parent cell_ids::Vector{Int} + # SC: After some thought, we might need to create a p4est pointer to p4est data + # conatining the data from the view. # unsaved_changes::Bool end @@ -22,6 +24,8 @@ function P4estMeshView(parent::P4estMesh{NDIMS, NDIMS_AMBIENT, RealT}) where {ND cell_ids[i] = i end + # SC: Since we need a p4est pointer no the modified (view) p4est data, we might need a function + # like connectivity_structured that computes the connectivity. return P4estMeshView{NDIMS, NDIMS_AMBIENT, RealT, typeof(parent)}(parent, cell_ids)#, parent.unsaved_changes) end diff --git a/src/solvers/dgsem_p4est/containers.jl b/src/solvers/dgsem_p4est/containers.jl index 2f534a2acf..21a6c386dd 100644 --- a/src/solvers/dgsem_p4est/containers.jl +++ b/src/solvers/dgsem_p4est/containers.jl @@ -530,6 +530,7 @@ function init_surfaces!(interfaces, mortars, boundaries, mesh::P4estMeshView) iter_face_c = cfunction(init_surfaces_iter_face, Val(ndims(mesh))) user_data = InitSurfacesIterFaceUserData(interfaces, mortars, boundaries, mesh.parent) + # SC: After adding p4est ponter to the view we should change this. iterate_p4est(mesh.parent.p4est, user_data; iter_face_c = iter_face_c) return interfaces @@ -722,6 +723,7 @@ function count_required_surfaces(mesh::P4estMeshView) # interfaces, mortars, boundaries user_data = [0, 0, 0] + # SC: After adding p4est ponter to the view we should change this. iterate_p4est(mesh.parent.p4est, user_data; iter_face_c = iter_face_c) # Return counters diff --git a/src/solvers/dgsem_p4est/containers_2d.jl b/src/solvers/dgsem_p4est/containers_2d.jl index a7a806fd62..eb8d8cf85b 100644 --- a/src/solvers/dgsem_p4est/containers_2d.jl +++ b/src/solvers/dgsem_p4est/containers_2d.jl @@ -115,8 +115,6 @@ function calc_node_coordinates!(node_coordinates, p4est_root_len = 1 << P4EST_MAXLEVEL p4est_quadrant_len(l) = 1 << (P4EST_MAXLEVEL - l) - # SC: It seems that here we need to make some serious changes so it works - # with P4estMeshView without touching the p4est struct. trees = unsafe_wrap_sc(p4est_tree_t, mesh.parent.p4est.trees)[mesh.cell_ids] for tree in eachindex(trees)