Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional notes on exploring non-conforming meshes #35

Open
amartinhuertas opened this issue Jul 12, 2023 · 0 comments
Open

Additional notes on exploring non-conforming meshes #35

amartinhuertas opened this issue Jul 12, 2023 · 0 comments
Assignees

Comments

@amartinhuertas
Copy link
Member

amartinhuertas commented Jul 12, 2023

  • Move inner constructor of GridapDistributed.GenericDistributedModel as outer constructor. One may need to pass the full set of d-dimensional gids from an existing GenericDistributedModel instance to the inner constructor.
  • I am positive that refine(::OctreeDistributedDiscreteModel, args...) should return an OctreeDistributedDiscreteModel with a GenericDiscreteModel made of local AdaptiveDiscreteModel. At present, this is not the case for some of the variants of refine, and thus, among others, we need to do the following in GridapSolvers.jl: https://github.com/gridap/GridapSolvers.jl/blob/47955a82d55958cc0585780325c005db3755efe2/src/MultilevelTools/ModelHierarchies.jl#L200, that can be definitely avoided. Besides, we also want the user to be able to transfer functions among FE meshes outside the model hierarchy subsytems, thus needing this feature.
  • After porting GridapP4est.jl to PArrays v0.3, I have needed to add MPIVectorVoid type and i_am_in function. In regards to the latter function, shouldn't it go to PArrays? UPDATE: [They already went to GridapDistributed]
  • If I execute rdmodel,glue=refine(dmodel,ref_coarse_flags); twice, then Gridap generates an error the second time. The cause of the error is that we are trying to create the hanging tag in the face labeling associated to dmodel, but this does not make sense as refine should not modify dmodel. [Solved in cf93940]
  • Added a test to RefinementRulesTests.jl that fails and should not Gridap.jl#921
  • GridapDistributed does not export redistribute. Why not?
  • When to use setup_non_conforming_distributed_discrete_model versus setup_distributed_discrete_model ?
  • I am positive that the contents of https://github.com/gridap/GridapP4est.jl/blob/eff06a337e2f1b95d62c3d1fcbbde24dc6d2b670/src/FESpaces.jl should be moved to GridapDistributed.jl. However, the issue, as we have with RedistributeGlue, is that we would have to create a mock NonconformingGlue. Seems feasible though. [DONE] in GridapDistributed.
  • I have ported RedistributeTools.jl from GridapSolvers.jl to PArrays v0.3 and put it temporarily into GridapP4est.jl. Thus, PLEASE, when porting GridapSolvers.jl to PArrays v0.3 let us start from here. On the other hand, I am positive that the contents of RedistributeTools.jl should go to GridapDistributed.jl. We will also need mock tests, though. [DONE] in GridapDistributed.
  • TO-THINK: better strategy to deal with "orphan" hanging dofs on ghost cells. See, e.g.,:
    ptrs[fid_hanging+1] = ptrs[fid_hanging] + 1
    or
    s = ptrs[fid_hanging]
  • TO-THINK: a better/cleaner alternative to the get_cell_dof_ids_inner_space function
    function _get_cell_dof_ids_inner_space(s::FESpace)
    . Also to think how the problem that this approach solves can impact other scenarios.
  • Mods to AdaptivityGlue required to support mixedRefinement will go to corresponding Gridap branch. [DONE]
  • [TO-INVESTIGATE] New quadrants created by p4est as by-product of the refeniment process have quadrant.p.user_data == C_NULL and they should NOT accordingly to p4est documentation and also the tests of P4est_wrapper.jl that I run, which look correct. So far I am using a workaround to bypass this problem. See
    # I have noticed that new quadrants created as by-product
    for more details.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants