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

P4est migration exploring non conformity #37

Merged
merged 78 commits into from
Aug 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
7d7fc38
First working version of the algorithm that in 2D:
amartinhuertas Jan 27, 2023
44b3d32
Merge branch 'main' of github.com:gridap/GridapP4est.jl into p4est-mi…
amartinhuertas Jan 27, 2023
977b5c5
Refactored code generating cells_prange first and using a Table to
principejavier Feb 7, 2023
b693b55
Further work towards model generation with non-conforming meshes.
principejavier Feb 13, 2023
e21df63
Some fixes to face labeling to deal with hanging faces (2D).
principejavier Feb 15, 2023
50acba0
Pull from main +
amartinhuertas Mar 7, 2023
3ebc5c6
Code generates symbolic constraints dependencies
amartinhuertas Mar 8, 2023
2535e1f
Added prototype code to evaluate all the possible hanging constraints
amartinhuertas Mar 14, 2023
61b08ac
Automated calculation of constraints already works for a simple case.
amartinhuertas Mar 23, 2023
cec3510
generate_cell_faces_and_non_conforming_glue now returns
amartinhuertas Mar 28, 2023
866a968
misc modularizing
amartinhuertas Mar 29, 2023
d77c47b
Moved part of the code from proof-of-concept file to the src folder
amartinhuertas Apr 3, 2023
e75910b
hanging node constraints working for order=2
amartinhuertas Apr 6, 2023
5debb9d
hanging node constraints working for order>2
amartinhuertas Apr 7, 2023
6d5fc79
misc refactoring
amartinhuertas Apr 7, 2023
a099a54
fixing treatment of hanging faces and vertices in regards
amartinhuertas Apr 7, 2023
c5fe5a4
Misc developments required to have construction of hanging node
amartinhuertas Apr 10, 2023
0a290f3
2D hanging dof constraints working for both perm==3 and perm==4
amartinhuertas Apr 11, 2023
26e34e1
Adding non-conforming octree tests
amartinhuertas Apr 11, 2023
9f678e2
Updating to the latest version of https://github.com/gridap/Gridap.jl…
amartinhuertas Apr 11, 2023
dddabab
Remove commented/old code
amartinhuertas Apr 12, 2023
b5ce69e
Bug-fixing _build_map_from_faces_to_cell_lface
amartinhuertas Apr 12, 2023
b051ad7
More work towards 3D non-conforming AMR.
amartinhuertas Apr 12, 2023
620305f
More work towards 3D non-conforming AMR.
amartinhuertas Apr 14, 2023
d13ceb0
More work towards 3D non-conforming AMR.
amartinhuertas Apr 17, 2023
41a0317
More work towards 3D AMR with non-conforming meshes
amartinhuertas Apr 22, 2023
efb648e
3D AMR working with order=1 FEs
amartinhuertas Apr 25, 2023
8c6c278
Fixing treatment of entity IDs of hanging edges
amartinhuertas Apr 25, 2023
a65eb67
Solved the two missing points in 8c6c278b80159a21e1114c6be699d9c4731b…
amartinhuertas Apr 26, 2023
1bf20aa
Added tests for 3D AMR under different orientations of adjacent cells
amartinhuertas Apr 27, 2023
592894d
Changes required to precompile
amartinhuertas Jul 7, 2023
0d96f54
Changes required to pass all tests
amartinhuertas Jul 9, 2023
6222f76
Adding Manifest.toml temporarily
amartinhuertas Jul 9, 2023
8cf18b7
Merge branch 'partitioned_arrays_v0.3' into p4est-migration-exploring…
amartinhuertas Jul 11, 2023
0290cf4
Changes required to pre-compile
amartinhuertas Jul 11, 2023
f370f15
Adapting branch to latest version of everything ... PArrays v0.3
amartinhuertas Jul 11, 2023
4b7de19
get_cell_faces is no longer part of the non-conforming glue
amartinhuertas Jul 11, 2023
a40432e
Adding non_conforming_glue as a property of OctreeDiscreteDistributed…
amartinhuertas Jul 11, 2023
91737e3
Transformed single "global" NonConformingGlue into MPIArray of local
amartinhuertas Jul 12, 2023
c207510
Wrote _compute_fine_to_coarse_model_glue() for non-conforming meshes.
amartinhuertas Jul 12, 2023
eff06a3
Parallel distributed FE space on top of non-conforming meshes seems to
amartinhuertas Jul 15, 2023
21fbc0c
* Updated all dependencies to dev versions
amartinhuertas Jul 16, 2023
4e706a3
* tests in NonConformingOctreeDistributedDiscreteModelsTests.jl now pass
amartinhuertas Jul 16, 2023
2535f90
Changes required to have working transfer operators among adapted meshes
amartinhuertas Jul 18, 2023
cf93940
* Redistribute of octrees runs without error.
amartinhuertas Jul 19, 2023
659bac2
* Add RedistributeTools.jl from GridapSolvers.jl
amartinhuertas Jul 19, 2023
c7d4762
* Treatment of hanging DoFs on ghost cells seems to be working
amartinhuertas Jul 22, 2023
7667956
Working towards having support for coarsening
amartinhuertas Jul 26, 2023
f34da32
Coarsening working in serial
amartinhuertas Jul 30, 2023
2f1f2e5
Some additional work towards coarsening in parallel
amartinhuertas Jul 30, 2023
b87d15a
Coarsening and refinement working in parallel. There are still some
amartinhuertas Aug 1, 2023
526f0a3
child_id is also a Table with MixedRefinement
amartinhuertas Aug 1, 2023
4113ec1
Removed those functions in GridapFixes.jl that were moved to Gridap
amartinhuertas Aug 3, 2023
c986eaf
Some fixes to have a working version in 3D
amartinhuertas Aug 3, 2023
cb5e9cf
misc fixes to have passing tests
amartinhuertas Aug 3, 2023
c560237
Update to Julia 1.9
amartinhuertas Aug 3, 2023
721871e
Using MPI system binary in github actions
amartinhuertas Aug 3, 2023
1e8c0e1
fix to ci.yml
amartinhuertas Aug 3, 2023
8c36109
Fixes to NonConformingOctreeDistributedDiscreteModelsTests.jl
amartinhuertas Aug 3, 2023
f6d8d36
Nasty bug in pXest_partition
amartinhuertas Aug 6, 2023
508b82b
Fixes to runtests.jl
amartinhuertas Aug 7, 2023
2899f84
Additional patches to have a working 3D code
amartinhuertas Aug 7, 2023
61ef66b
Adding NonConformingOctreeDistributedDiscreteModelsTests to the test
amartinhuertas Aug 7, 2023
aa0daaa
All tests seem to be working now
amartinhuertas Aug 8, 2023
c8d7dfd
Updated Gridap.jl pointer
amartinhuertas Aug 8, 2023
3762dba
Actually fixing pointer to Gridap.jl repo
amartinhuertas Aug 8, 2023
142759c
All tests seems to be passing. Fixed several bugs
amartinhuertas Aug 10, 2023
3758cec
Fixed runtests in GridapP4est
amartinhuertas Aug 10, 2023
818edd0
Updated RedistributeGlue constructors
JordiManyer Aug 10, 2023
a15b390
Added LocalPreferences.toml to gitignore
JordiManyer Aug 10, 2023
9aa613f
Additional cleaning of functions which have been moved to
amartinhuertas Aug 11, 2023
3fdd07b
Fixing missing qualifyier
amartinhuertas Aug 11, 2023
53a0ec7
renamed num_parts by GridapDistributed.num_parts
amartinhuertas Aug 15, 2023
e27a419
Uncommenting lines that I commented mistakenly
amartinhuertas Aug 16, 2023
b93a02c
Pointing to the published versions of all packages
amartinhuertas Aug 16, 2023
eac5646
Resolved ambiguities in FESpaces.jl
JordiManyer Aug 21, 2023
d6676df
Dispatched to default for RaviartThomas
JordiManyer Aug 21, 2023
f41383f
Minor cleanup
JordiManyer Aug 21, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 15 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,12 @@ jobs:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
env:
JULIA_MPI_BINARY: "system"
P4EST_ROOT_DIR: "/opt/p4est/2.2/"
strategy:
fail-fast: false
matrix:
version:
- '1.7'
- '1.9'
os:
- ubuntu-latest
arch:
Expand Down Expand Up @@ -63,8 +62,21 @@ jobs:
make --quiet
make --quiet install
rm -rf $ROOT_DIR/$TAR_FILE $SOURCES_DIR
cd $CURR_DIR
cd $CURR_DIR
- uses: julia-actions/julia-buildpkg@latest

- name: add MPIPreferences
shell: julia --color=yes --project=. {0}
run: |
using Pkg
Pkg.add("MPIPreferences")

- name: use MPI system binary
shell: julia --color=yes --project=. {0}
run: |
using MPIPreferences
MPIPreferences.use_system_binary()

# - uses: julia-actions/julia-runtest@v1
# - uses: julia-actions/julia-processcoverage@v1
- run: echo $PWD
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ docs/build/
tmp/
.vscode
Manifest.toml
LocalPreferences.toml
13 changes: 7 additions & 6 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,15 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
[compat]
ArgParse = "1"
FillArrays = "0.8.4, 0.9, 0.10, 0.11, 0.12"
Gridap = "0.17.17"
GridapDistributed = "0.2.7"
MPI = "0.16, 0.17, 0.18, 0.19, 0.20"
P4est_wrapper = "0.1.3"
PartitionedArrays = "0.2.14"
julia = "1.5,1.6,1.7,1.8"
Gridap = "0.17.18"
GridapDistributed = "0.3"
MPI = "0.20"
P4est_wrapper = "0.2.0"
PartitionedArrays = "0.3.3"
julia = "1.5,1.6,1.7,1.8,1.9"

[extras]
MPIPreferences = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
Expand Down
6 changes: 3 additions & 3 deletions src/Environment.jl
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const _INITIALIZED = Ref(false)
See P4est_wrapper.jl/src/bindings/sc_common.jl for possible/valid
argument values for the p4est_verbosity_level parameter
"""
function Init(parts::MPIData;p4est_verbosity_level=P4est_wrapper.SC_LP_DEFAULT)
function Init(parts::MPIArray;p4est_verbosity_level=P4est_wrapper.SC_LP_DEFAULT)
if !MPI.Initialized()
@error "MPI not Initialized!"
end
Expand Down Expand Up @@ -36,9 +36,9 @@ function Finalize()
return nothing
end

function with(f,parts::MPIData;kwargs...)
function with(f,parts::MPIArray;kwargs...)
Init(parts;kwargs...)
out = f()
Finalize()
return out
end
end
Loading
Loading