Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
469 commits
Select commit Hold shift + click to select a range
9f42d94
:wrench: add functions and container in particle
bodhinandach Jul 21, 2020
da1682e
:construction: cosmetic changes as suggested
bodhinandach Jul 21, 2020
3e1f9ff
:construction: add boolean property
bodhinandach Jul 22, 2020
a687fa8
Merge branch 'refactor/particles_properties' of https://github.com/cb…
bodhinandach Jul 22, 2020
47c5f48
:wrench: modify function calls
bodhinandach Jul 22, 2020
6d06851
:dart: :art: add solver test
bodhinandach Jul 24, 2020
6e2913b
Merge branch 'develop' into refactor/particles
ezrayst Jul 24, 2020
4899191
Merge branch 'develop' of https://github.com/cb-geo/mpm into refactor…
bodhinandach Jul 25, 2020
b8a3932
:construction: :dart: add set_traction to boolean_properties and add …
bodhinandach Jul 25, 2020
3f06493
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/n…
bodhinandach Jul 25, 2020
81c5426
:wrench: add parallel schedule to iterate over particle predicate
bodhinandach Jul 25, 2020
13692de
:wrench: fix clang-format
bodhinandach Jul 25, 2020
f2a982c
Merge branch 'develop' of https://github.com/cb-geo/mpm into refactor…
bodhinandach Jul 25, 2020
68506c1
:wrench: fix particle_function for pressure smoothing
bodhinandach Jul 25, 2020
0666b0a
:construction: :dart: refactor and add test for nodal boolean properties
bodhinandach Jul 25, 2020
7d4b00f
:wrench: remove throw in eigen
bodhinandach Jul 25, 2020
acc7d54
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/n…
bodhinandach Jul 25, 2020
f8fa3e9
:wrench: fix material and state variable phase
bodhinandach Jul 25, 2020
d27c1c2
Merge branch 'solver/navier-stokes' of https://github.com/cb-geo/mpm …
bodhinandach Jul 25, 2020
4d8b020
:wrench: change to spinmutex
bodhinandach Jul 25, 2020
2858001
Modify twophase part based on new structure
tianchiTJ Jul 27, 2020
a893ffe
Merge remote-tracking branch 'origin/refactor/particles' into solver/…
tianchiTJ Jul 27, 2020
fc1e539
Modification for the merge
tianchiTJ Jul 27, 2020
16b1ed8
Remove the pressure_smoothing function
tianchiTJ Jul 28, 2020
416b314
Fix the bug for undefined nodal properties
tianchiTJ Jul 28, 2020
766991a
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/n…
bodhinandach Jul 28, 2020
965b3fd
:wrench: add assign_state_var and pressure and cleanup
bodhinandach Jul 28, 2020
d73a5f0
:wrench: change initial_pressure to assign_pressure
bodhinandach Jul 28, 2020
13232eb
Merge branch 'solver/navier-stokes' of https://github.com/cb-geo/mpm …
bodhinandach Jul 28, 2020
b32693e
Go back to old version
tianchiTJ Jul 29, 2020
46e0b67
Fix some bug in the test
tianchiTJ Jul 29, 2020
32989ad
clean up
tianchiTJ Jul 29, 2020
99882d2
Clean up
tianchiTJ Jul 29, 2020
6c066c3
:wrench: add assign_state_var and pressure and cleanup
bodhinandach Jul 28, 2020
aa7ddfe
Fix the compute mass bug
tianchiTJ Jul 29, 2020
85e76db
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach Jul 29, 2020
3e29ecf
Some clean up work
tianchiTJ Jul 30, 2020
974a86d
Move pressure constraints functions
tianchiTJ Jul 30, 2020
5400fd2
Fix the error in the test
tianchiTJ Jul 30, 2020
178eff0
Add twophase particle test
tianchiTJ Jul 31, 2020
3da5b25
Add 3d twophase particle test
tianchiTJ Jul 31, 2020
c69843f
Add twophase_node
tianchiTJ Jul 31, 2020
6b1a3ce
Fix the bug in reading pore pressure constraints
tianchiTJ Aug 1, 2020
a015f4f
:construction: add free_surface detection
bodhinandach Aug 1, 2020
9fe7d02
Move pore pressure into state_variables
tianchiTJ Aug 1, 2020
966d51a
:wrench: modify map_pressure_to_nodes in twophase
bodhinandach Aug 1, 2020
56bc776
:construction: revert back assign state vars to void, though keeping …
bodhinandach Aug 1, 2020
bff49ec
Fix the test
tianchiTJ Aug 2, 2020
feaa3d1
Remove the assign_pore_pressure
tianchiTJ Aug 2, 2020
a118f4d
:wrench: add an option to do free surface or not
bodhinandach Aug 2, 2020
dc7eeab
Merge branch 'solver/two-phase-explicit' of https://github.com/cb-geo…
bodhinandach Aug 2, 2020
284a0dd
:dart: :construction: add REQUIRE_THROWS in assign pressure
bodhinandach Aug 2, 2020
cbd3ef9
:wrench: fix free surface detection input
bodhinandach Aug 2, 2020
82d8ab0
Delete pore_pressure()
tianchiTJ Aug 3, 2020
ed844c9
Fix the nodal pressure constraints
tianchiTJ Aug 3, 2020
fc2c1cf
:wrench: refactor assembler, linear solver
bodhinandach Aug 4, 2020
3cad6b3
Add twophase_node test
tianchiTJ Aug 4, 2020
3cdef65
Merge branch 'solver/navier-stokes' of https://github.com/cb-geo/mpm …
bodhinandach Aug 4, 2020
1961366
:construction: :dart: categorize tests
bodhinandach Aug 4, 2020
cae6cfe
Fix bug in twophase_node test
tianchiTJ Aug 4, 2020
095fe39
Merge branch 'solver/two-phase-explicit' of https://github.com/cb-geo…
bodhinandach Aug 4, 2020
4919e84
Merge branch 'feature/vtk-output-statevars' of https://github.com/cb-…
bodhinandach Aug 5, 2020
d6681a8
Inpute gravity in initialise pore pressure
tianchiTJ Aug 5, 2020
b70e28d
:construction: remove pore_pressure from tensor data and cleanup
bodhinandach Aug 5, 2020
a853aac
Add liquid traction
tianchiTJ Aug 5, 2020
afc5b15
Modify the apply pressure constraint
tianchiTJ Aug 5, 2020
c6f4d7b
Some clean up
tianchiTJ Aug 5, 2020
52f5e0d
Add test for watertable
tianchiTJ Aug 5, 2020
8b09a3c
Add solver test
tianchiTJ Aug 6, 2020
48298d7
Modify two_phase node test
tianchiTJ Aug 6, 2020
50dcd17
:construction: parallel free surface detection using cell solving status
bodhinandach Aug 6, 2020
e43c86e
:wrench: add halo exchange option for surface reconstruction
bodhinandach Aug 7, 2020
f4a9386
:wrench: add volume fraction all_reduce for temporary surface detection
bodhinandach Aug 7, 2020
980ede1
:wrench: resetting solving status to fix error
bodhinandach Aug 7, 2020
99d8742
:wrench: remove ghost cell exchange and use all reduce instead
bodhinandach Aug 7, 2020
a281034
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach Aug 8, 2020
cde881d
:wrench: :dart: fix write json in test
bodhinandach Aug 8, 2020
c7f1be8
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/n…
bodhinandach Aug 8, 2020
bb2fcc0
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach Aug 10, 2020
493ddb4
:wrench::dart: merge with develop and vtk branch and fix conflict
bodhinandach Aug 10, 2020
7cb30f9
:wrench: bug fix in MPI transfer
bodhinandach Aug 11, 2020
01c999c
:wrench: bug fix for damping, test is failing
bodhinandach Aug 11, 2020
939cfcc
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/n…
bodhinandach Aug 11, 2020
becdfaa
Change the input names for pressure constraints
tianchiTJ Aug 11, 2020
eff342f
Fix the test bug of "damping"
tianchiTJ Aug 11, 2020
7f2f40d
:wrench: :dart: fix test category
bodhinandach Aug 11, 2020
55a5eed
Fix the bug for damping
tianchiTJ Aug 12, 2020
be2bbb9
Correct the files names
tianchiTJ Aug 12, 2020
304f54a
:wrench: modify some free-surface functions as suggested
bodhinandach Aug 12, 2020
98b7763
:wrench::fire: add hdf5 data structure for twophase
bodhinandach Aug 12, 2020
311be05
:wrench::art: cleanup typo
bodhinandach Aug 12, 2020
708c6d0
:wrench: hdf5 output and initialization in twophase
bodhinandach Aug 13, 2020
ae45f5d
:dart: hdf5 twophase particle tested
bodhinandach Aug 13, 2020
656f384
Correct the error in "assign_permeability"
tianchiTJ Aug 13, 2020
7239a63
Merge branch 'solver/two-phase-explicit' of https://github.com/cb-geo…
bodhinandach Aug 14, 2020
c68fbd5
:wrench: add mpi_data_twophase to mesh
bodhinandach Aug 14, 2020
8bb993b
:construction: :dart: add particle twophase mpi data transfer test
bodhinandach Aug 14, 2020
783c17e
:wrench: fix bug in initiating liquid state variables
bodhinandach Aug 14, 2020
b208bf4
:wrench: modify assign permeability and material() call
bodhinandach Aug 14, 2020
29aeb9c
:wrench: :art: modify cmake list to deactivate HDF5 offsetof warnings
bodhinandach Aug 15, 2020
82bef32
Merge branch 'feature/vtk-output-vars' of https://github.com/cb-geo/m…
bodhinandach Aug 15, 2020
af1abe1
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach Aug 17, 2020
6ac4a1b
Add warning information for particle pore pressure
tianchiTJ Aug 17, 2020
64c8bab
Merge branch 'solver/two-phase-explicit' of https://github.com/cb-geo…
bodhinandach Aug 17, 2020
617efba
:wrench: modify initialise_particle
bodhinandach Aug 18, 2020
288b8aa
:construction: change hdf5 output
bodhinandach Aug 18, 2020
ec91bc0
:hammer: Use void* to return particle POD
kks32 Aug 19, 2020
5af4700
:hammer: Use std::shared_ptr<void> to handle PODs
kks32 Aug 19, 2020
dc2ec42
:pencil: :construction: cleanup hdf5_ptr()
bodhinandach Aug 20, 2020
4806e09
:construction: :dart: remove hdf5() and replace completely to hdf5_ptr()
bodhinandach Aug 20, 2020
65d579e
:construction: change initialise_particle input arguments
bodhinandach Aug 20, 2020
859e174
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach Aug 20, 2020
174c5d0
:construction: :wrench: :dart: modify two phase explicit solver and i…
bodhinandach Aug 20, 2020
0b3fd01
Merge branch 'refactor/serialization' of https://github.com/cb-geo/mp…
bodhinandach Aug 20, 2020
1571da3
:wrench: fix conflict with serialize refactoring
bodhinandach Aug 20, 2020
594aa68
:construction: some modification of deserialize and serialize functio…
bodhinandach Aug 21, 2020
2b6cf4b
:construction: add serialize and deserialize in twophase particle
bodhinandach Aug 21, 2020
c602ced
:construction: :dart: fix bugs in particle_twophase SD and create tes…
bodhinandach Aug 22, 2020
4dedd01
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach Aug 23, 2020
7081c0e
Merge branch 'refactor/serialization' of https://github.com/cb-geo/mp…
bodhinandach Aug 23, 2020
a4dfb76
:wrench: change if throw to assert
bodhinandach Aug 23, 2020
6992ada
:construction: add particle_types_ and modify write_hdf5()
bodhinandach Aug 24, 2020
8b7f384
:construction: chang read_hdf5
bodhinandach Aug 24, 2020
7f42f58
Merge branch 'refactor/serialization' of https://github.com/cb-geo/mp…
bodhinandach Aug 24, 2020
78a0e5a
:dart: reactivate resume test
bodhinandach Aug 24, 2020
c919841
:construction: renaming HDF5Particle as PODParticle
bodhinandach Aug 25, 2020
2a2a1a8
:wrench: fix hdf5_ptr casting
bodhinandach Aug 25, 2020
80b2817
:wrench: change hdf5 naming to pod
bodhinandach Aug 25, 2020
f7c0af9
:pencil: cleanup documentation and comments
bodhinandach Aug 25, 2020
5eebcf3
:pencil: change naming h5_test to pod_test
bodhinandach Aug 25, 2020
bf1fb24
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach Aug 26, 2020
0ace406
:construction: :wrench: add write hdf5 twophase
bodhinandach Sep 12, 2020
2005506
:construction::wrench: add function to read particle hdf5 with specif…
bodhinandach Sep 12, 2020
c0ffa57
:wrench: change format back to original read
bodhinandach Sep 13, 2020
5366faf
Merge branch 'hotfix/mpi-buffer' of https://github.com/cb-geo/mpm int…
bodhinandach Sep 23, 2020
45b90cd
:wrench: fix error of nodes per cell
bodhinandach Sep 25, 2020
5a03060
:wrench: solve conflict merging with develop
bodhinandach Sep 28, 2020
42d6552
:wrench: add mass density and state variables fix
bodhinandach Sep 28, 2020
d1e7765
:dart: add mass density check in test
bodhinandach Sep 28, 2020
5e04ad3
Merge branch 'hotfix/deserialize_particle_bug' of https://github.com/…
bodhinandach Sep 28, 2020
37428ed
:wrench: :dart: add density and svars fix in twophase deserialization
bodhinandach Sep 28, 2020
0df173e
Merge branch 'hotfix/deserialize_particle_bug' of https://github.com/…
bodhinandach Sep 28, 2020
902e10b
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach Sep 28, 2020
b69d846
:wrench: fix check non equal
bodhinandach Sep 28, 2020
d05373f
:wrench: :construction: :dart: modify 2phase serialization test
bodhinandach Sep 28, 2020
d970b61
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/n…
bodhinandach Sep 28, 2020
d75cd60
Merge branch 'solver/two-phase-explicit' of https://github.com/cb-geo…
bodhinandach Sep 29, 2020
2149eaf
:wrench: add mpi barrier after transfer halo particles
bodhinandach Sep 29, 2020
d03cfa4
Merge branch 'solver/two-phase-explicit' of https://github.com/cb-geo…
bodhinandach Sep 29, 2020
79b0a83
:wrench: add temporary fix for resume and hdf5 output function
bodhinandach Sep 29, 2020
0f8abe9
:construction: change fluid_particle naming
bodhinandach Oct 1, 2020
cd162db
Merge branch 'solver/navier-stokes-parallel' into solver/two-phase-tw…
bodhinandach Oct 1, 2020
e24d2f1
:wrench: :construction: modify map mixture
bodhinandach Oct 5, 2020
2a741de
:construction: :dart: modify solver as suggested and add test for npa…
bodhinandach Oct 5, 2020
7f96225
:construction: modify as suggested
bodhinandach Oct 6, 2020
f11a6bd
Merge branch 'solver/two-phase-explicit' into solver/two-phase-two-po…
bodhinandach Oct 7, 2020
ac410e7
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach Oct 15, 2020
974764a
:dart: :construction: radial basis function test
bodhinandach Oct 20, 2020
33f5e97
:construction: :dart: add 2D free surface detection test
bodhinandach Oct 21, 2020
f272ee7
:construction: add check cell status in mapping volume
bodhinandach Oct 21, 2020
0738ab2
:construction: change default value for particle density fs detection
bodhinandach Oct 21, 2020
79820f2
:dart: add 3D fsd test
bodhinandach Oct 21, 2020
5abd743
:construction: take id out of the while loop
bodhinandach Oct 21, 2020
64cdbdc
Modify the computation of intermediate and poisson
tianchiTJ Oct 22, 2020
cf9acdc
Modify the correction part
tianchiTJ Oct 22, 2020
1336f23
Correct some error in the logger
tianchiTJ Oct 22, 2020
c2ad627
Correct some error in the resize of local matrix
tianchiTJ Oct 22, 2020
6bacc53
Add beta into the computation
tianchiTJ Oct 22, 2020
e15317d
Correct the bug of permeability
tianchiTJ Oct 23, 2020
e3127d1
:construction: add parallel free surface detection by density method
bodhinandach Oct 23, 2020
6e40958
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach Oct 23, 2020
b79e05a
:dart: add test for illegal functions from base class make gravity const
bodhinandach Oct 23, 2020
5763fd0
:construction: remove mass check throw
bodhinandach Oct 23, 2020
c2b48f2
Add test file for read particle scalar properties
tianchiTJ Oct 23, 2020
9f3cc4a
Add test function for read_pressure_constraints
tianchiTJ Oct 23, 2020
f6022df
Add test functions for pressure constraint
tianchiTJ Oct 23, 2020
1b34a27
:construction: :dart: modify write mesh particle
bodhinandach Oct 29, 2020
eabafb6
Merge branch 'solver/two-phase-explicit' of https://github.com/cb-geo…
bodhinandach Oct 29, 2020
ec29610
Merge branch 'solver/two-phase-two-points' into solver/two-phase-semi…
bodhinandach Oct 29, 2020
ad851bf
Change the density tolerance
tianchiTJ Nov 3, 2020
ae2b6fe
:construction: correct some suggestions
bodhinandach Nov 4, 2020
b8a7d89
:construction: move multiphase functions outside mesh.tcc
bodhinandach Nov 4, 2020
ae92ec0
:construction: add groups in cell and node functions
bodhinandach Nov 4, 2020
62e065c
:dart: modify test to fix error in assertion
bodhinandach Nov 4, 2020
32f1c5a
:construction: :dart: change nPhase to NPhase in nodes
bodhinandach Nov 4, 2020
2b195ee
Correct the names of nodal phases
tianchiTJ Nov 4, 2020
689d9fb
Merge branch 'solver/two-phase-explicit' of https://github.com/cb-geo…
tianchiTJ Nov 4, 2020
c24b27e
:construction: cleanup as suggested
bodhinandach Nov 17, 2020
4f550b1
:construction: use iterate_over function with lambda function input
bodhinandach Nov 17, 2020
2ddbf23
:construction: modify particle and node functions as suggested
bodhinandach Nov 17, 2020
fe725f6
:construction: additional fixes on assertion and some info
bodhinandach Nov 17, 2020
eae0fbf
:dart: :construction: remove throw test
bodhinandach Nov 17, 2020
d4e01fd
Merge branch 'solver/two-phase-explicit' into solver/two-phase-two-po…
bodhinandach Nov 18, 2020
af44c7f
:construction: grouping of cell functions and variables
bodhinandach Nov 23, 2020
324ff61
:construction: moving multi-phase functions from mesh.tcc
bodhinandach Nov 23, 2020
72dbc24
:construction: grouping node multiphase
bodhinandach Nov 23, 2020
025b91d
Merge branch 'solver/two-phase-explicit' of https://github.com/cb-geo…
bodhinandach Nov 23, 2020
2ad9bc2
:dart: :construction: fix test error due to initialise twophase
bodhinandach Nov 23, 2020
7bc9886
Merge branch 'solver/two-phase-explicit' of https://github.com/cb-geo…
bodhinandach Nov 23, 2020
3814910
:construction: remove update density as it is not required
bodhinandach Nov 24, 2020
fe02d17
:construction: remove signed distance variables
bodhinandach Nov 24, 2020
18da9ed
Merge branch 'solver/two-phase-semi-implicit' of https://github.com/c…
bodhinandach Nov 24, 2020
a6f9261
:construction: update two-phase solver
bodhinandach Nov 24, 2020
f368c8a
:construction: put files in category
bodhinandach Nov 24, 2020
545cc85
:construction: :hammer: change correction matrix reserve two times la…
bodhinandach Nov 24, 2020
ba822f1
:construction: remove duplicate code
bodhinandach Nov 25, 2020
4aec0fc
:construction: optimize assembler
bodhinandach Nov 25, 2020
8157c99
:construction: optimize nodes
bodhinandach Nov 25, 2020
2544175
:hammer: fix assertion
bodhinandach Nov 25, 2020
3fc7a6c
:construction: :hammer: remove drag force term for MPI purposes
bodhinandach Nov 25, 2020
401e808
:construction: :hammer: remove velocity and acceleration intermediate…
bodhinandach Nov 25, 2020
0b0f4ad
:construction: arrange MPI rgm and size for predictor solver
bodhinandach Nov 26, 2020
8c6cea2
:construction: refactor solver
bodhinandach Nov 30, 2020
b3e1d9c
:construction: refactor twophase linear solver format
bodhinandach Nov 30, 2020
f8a48a1
:construction::hammer: fix petsc multiple initialization and finaliza…
bodhinandach Dec 2, 2020
9d30545
:hammer: add appropriate vec and matdestroy petsc
bodhinandach Dec 2, 2020
46320dd
:construction: refactor solver 2
bodhinandach Dec 3, 2020
cea153a
:dart: modify linear solver test
bodhinandach Dec 3, 2020
c4ccb92
:construction: refactor solver
bodhinandach Nov 30, 2020
5338ad7
:construction::hammer: fix petsc multiple initialization and finaliza…
bodhinandach Dec 2, 2020
aff09a0
:hammer: add appropriate vec and matdestroy petsc
bodhinandach Dec 2, 2020
e585f11
:construction: refactor solver 2
bodhinandach Dec 3, 2020
1a068fd
:dart: modify linear solver test
bodhinandach Dec 3, 2020
72c1496
Merge branch 'solver/two-phase-two-points' into solver/two-phase-semi…
bodhinandach Dec 3, 2020
7b49920
:construction: parallelization of mesh multiphase function
bodhinandach Jul 30, 2021
20786ff
:construction: remove compute_nodal_correction_force in node
bodhinandach Jul 30, 2021
1cda44e
:wrench: update explicit pore_pressure calculation by reduced integra…
bodhinandach Aug 5, 2021
337bbc8
:construction: add row size to generalize sizing of sparse matrix
bodhinandach Aug 10, 2021
a9f8c55
Merge branch 'develop' of https://github.com/bodhinandach/cb-geo-mpm …
bodhinandach Aug 12, 2021
8aece6b
:wrench: modify particle twophase test to adjust to the new compute p…
bodhinandach Aug 12, 2021
8f9edf1
:construction: gather particle types as a separate public function
bodhinandach Aug 12, 2021
e7c0524
:construction: remove unused variable
bodhinandach Aug 12, 2021
db76e08
:construction: automatically passing particle type
bodhinandach Aug 12, 2021
761a9b1
:wrench: relocate permeability assignment while initializing particle…
bodhinandach Aug 12, 2021
2139beb
:wrench: refactor resume functions in solvers
bodhinandach Aug 12, 2021
a1c2e97
Merge branch 'master' of https://github.com/geomechanics/mpm into sol…
bodhinandach Aug 12, 2021
27f94fd
:wrench: revert accidental delete
bodhinandach Aug 14, 2021
47244c7
:wrench: revert accidental delete
bodhinandach Aug 14, 2021
59673ac
:wrench: modify circle ci config for geomechanics
bodhinandach Aug 17, 2021
594b4db
:wrench: move initialise particle types to resume
bodhinandach Sep 1, 2021
5368239
:construction: change console to unique ptr instead of shared ptr
bodhinandach Sep 1, 2021
b8b3db8
:construction: change write mesh
bodhinandach Sep 1, 2021
5fe6578
:construction: fix error with test resume
bodhinandach Sep 1, 2021
250b34e
:construction: add new semi implicit test
bodhinandach Sep 1, 2021
1b5c1b6
:construction: clean up pressure constraint
bodhinandach Sep 1, 2021
027a296
:construction: add tests for pressure assignment
bodhinandach Sep 1, 2021
56fdf24
:construction: modify and add new solver test
bodhinandach Sep 1, 2021
3abf7b0
:construction: add navierstokes solver test
bodhinandach Sep 1, 2021
2c865da
:construction: add navierstokes unitcell test
bodhinandach Sep 2, 2021
8a4995c
:construction: add last missing particle
bodhinandach Sep 2, 2021
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
8 changes: 7 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ jobs:
export MODULEPATH=$MODULEPATH:/usr/share/modulefiles
module load mpi/openmpi-x86_64
export CXX_COMPILER=mpicxx
export PETSC_ARCH=arch-linux2-c-opt
export PETSC_DIR=/home/cbgeo/petsc/
cmake -GNinja -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_EXPORT_COMPILE_COMMANDS=On -DKAHIP_ROOT=/home/cbgeo/KaHIP/ -DPARTIO_ROOT=/home/cbgeo/partio/ ..
ninja -j2
ctest -VV
Expand All @@ -32,6 +34,8 @@ jobs:
mkdir -p build
[ "$(ls -A build)" ] && rm -rf build/*
cd build
export PETSC_ARCH=arch-linux2-c-opt
export PETSC_DIR=/home/cbgeo/petsc/
scan-build cmake -GNinja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_EXPORT_COMPILE_COMMANDS=On -DKAHIP_ROOT=/home/cbgeo/KaHIP/ -DPARTIO_ROOT=/home/cbgeo/partio/ ..
scan-build -k -V ninja -j2
ctest -VV
Expand Down Expand Up @@ -64,6 +68,8 @@ jobs:
mkdir -p build
[ "$(ls -A build)" ] && rm -rf build/*
cd build
export PETSC_ARCH=arch-linux2-c-opt
export PETSC_DIR=/home/cbgeo/petsc/
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_EXPORT_COMPILE_COMMANDS=On -DENABLE_COVERAGE=On -DKAHIP_ROOT=/home/cbgeo/KaHIP/ -DPARTIO_ROOT=/home/cbgeo/partio/ ..
make mpmtest_coverage -j2
./mpmtest_coverage
Expand Down Expand Up @@ -140,4 +146,4 @@ workflows:
filters:
branches:
only:
- develop
- master
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,4 @@ configure.scan
*missing
*stamp-h1
benchmarks/
bin/
56 changes: 44 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ option(MPM_BUILD_TESTING "enable testing for mpm" ON)
# Halo exchange
option(HALO_EXCHANGE "Enable halo exchange" OFF)

# PETSC
option(USE_PETSC "Use PETSC solver library" OFF)

# CMake Modules
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})

Expand Down Expand Up @@ -71,6 +74,7 @@ if (HDF5_FOUND)
include_directories(${HDF5_INCLUDE_DIRS})
link_libraries(${HDF5_LIBRARIES} ${HDF5_HL_LIBRARIES} ${HDF5_CXX_HL_LIBRARIES})
add_definitions(${HDF5_DEFINITIONS})
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-invalid-offsetof")
endif()

# OpenMP
Expand All @@ -97,6 +101,15 @@ if (MKL_FOUND)
endif()
endif()

# PETSc
if (USE_PETSC)
find_package(PETSc COMPONENTS C)
endif()
if (PETSC_FOUND)
include_directories(${PETSC_INC})
link_libraries(${PETSC_LIB})
add_definitions("-DUSE_PETSC")
endif()

# KaHIP
if (MPI_FOUND)
Expand Down Expand Up @@ -131,19 +144,22 @@ endif()
# Include directories
include_directories(BEFORE
${mpm_SOURCE_DIR}/include/
${mpm_SOURCE_DIR}/include/contacts/
${mpm_SOURCE_DIR}/include/containers/
${mpm_SOURCE_DIR}/include/elements/
${mpm_SOURCE_DIR}/include/elements/2d
${mpm_SOURCE_DIR}/include/elements/3d
${mpm_SOURCE_DIR}/include/functions/
${mpm_SOURCE_DIR}/include/generators/
${mpm_SOURCE_DIR}/include/io/
${mpm_SOURCE_DIR}/include/contacts/
${mpm_SOURCE_DIR}/include/linear_solvers/
${mpm_SOURCE_DIR}/include/loads_bcs/
${mpm_SOURCE_DIR}/include/materials/
${mpm_SOURCE_DIR}/include/particles/
${mpm_SOURCE_DIR}/include/particles/pod_particles
${mpm_SOURCE_DIR}/include/solvers/
${mpm_SOURCE_DIR}/include/solvers/mpm_scheme/
${mpm_SOURCE_DIR}/include/utilities/
${mpm_SOURCE_DIR}/external/
${mpm_SOURCE_DIR}/tests/include/
)
Expand All @@ -157,12 +173,14 @@ SET(mpm_src
${mpm_SOURCE_DIR}/src/functions/linear_function.cc
${mpm_SOURCE_DIR}/src/functions/sin_function.cc
${mpm_SOURCE_DIR}/src/geometry.cc
${mpm_SOURCE_DIR}/src/hdf5_particle.cc
${mpm_SOURCE_DIR}/src/pod_particle.cc
${mpm_SOURCE_DIR}/src/pod_particle_twophase.cc
${mpm_SOURCE_DIR}/src/io/io.cc
${mpm_SOURCE_DIR}/src/io/io_mesh.cc
${mpm_SOURCE_DIR}/src/io/logger.cc
${mpm_SOURCE_DIR}/src/io/partio_writer.cc
${mpm_SOURCE_DIR}/src/io/vtk_writer.cc
${mpm_SOURCE_DIR}/src/linear_solver.cc
${mpm_SOURCE_DIR}/src/material.cc
${mpm_SOURCE_DIR}/src/mpm.cc
${mpm_SOURCE_DIR}/src/nodal_properties.cc
Expand Down Expand Up @@ -200,41 +218,55 @@ if(MPM_BUILD_TESTING)
${mpm_SOURCE_DIR}/tests/elements/triangle_quadrature_test.cc
${mpm_SOURCE_DIR}/tests/functions/linear_function_test.cc
${mpm_SOURCE_DIR}/tests/functions/sin_function_test.cc
${mpm_SOURCE_DIR}/tests/functions/radial_basis_function_test.cc
${mpm_SOURCE_DIR}/tests/graph_test.cc
${mpm_SOURCE_DIR}/tests/interface_test.cc
${mpm_SOURCE_DIR}/tests/io/io_mesh_ascii_test.cc
${mpm_SOURCE_DIR}/tests/io/io_test.cc
${mpm_SOURCE_DIR}/tests/io/vtk_writer_test.cc
${mpm_SOURCE_DIR}/tests/io/write_mesh_particles.cc
${mpm_SOURCE_DIR}/tests/io/write_mesh_particles_unitcell.cc
${mpm_SOURCE_DIR}/tests/linear_solver_test.cc
${mpm_SOURCE_DIR}/tests/materials/bingham_test.cc
${mpm_SOURCE_DIR}/tests/materials/linear_elastic_test.cc
${mpm_SOURCE_DIR}/tests/materials/modified_cam_clay_test.cc
${mpm_SOURCE_DIR}/tests/materials/mohr_coulomb_test.cc
${mpm_SOURCE_DIR}/tests/materials/newtonian_test.cc
${mpm_SOURCE_DIR}/tests/materials/norsand_test.cc
${mpm_SOURCE_DIR}/tests/materials/material_utility_test.cc
${mpm_SOURCE_DIR}/tests/mesh_free_surface_test.cc
${mpm_SOURCE_DIR}/tests/mesh_neighbours_test.cc
${mpm_SOURCE_DIR}/tests/mesh_test_2d.cc
${mpm_SOURCE_DIR}/tests/mesh_test_3d.cc
${mpm_SOURCE_DIR}/tests/mpi_transfer_particle_test.cc
${mpm_SOURCE_DIR}/tests/nodes/nodal_properties_test.cc
${mpm_SOURCE_DIR}/tests/nodes/node_map_test.cc
${mpm_SOURCE_DIR}/tests/nodes/node_test.cc
${mpm_SOURCE_DIR}/tests/nodes/node_twophase_test.cc
${mpm_SOURCE_DIR}/tests/nodes/node_vector_test.cc
${mpm_SOURCE_DIR}/tests/particles/particle_cell_crossing_test.cc
${mpm_SOURCE_DIR}/tests/particles/particle_test.cc
${mpm_SOURCE_DIR}/tests/particles/particle_twophase_test.cc
${mpm_SOURCE_DIR}/tests/particles/particle_traction_test.cc
${mpm_SOURCE_DIR}/tests/particles/particle_vector_test.cc
${mpm_SOURCE_DIR}/tests/particles/particle_serialize_deserialize_test.cc
${mpm_SOURCE_DIR}/tests/particles/particle_serialize_deserialize_twophase_test.cc
${mpm_SOURCE_DIR}/tests/point_in_cell_test.cc
${mpm_SOURCE_DIR}/tests/solvers/mpm_explicit_musl_test.cc
${mpm_SOURCE_DIR}/tests/solvers/mpm_explicit_musl_unitcell_test.cc
${mpm_SOURCE_DIR}/tests/solvers/mpm_explicit_usf_test.cc
${mpm_SOURCE_DIR}/tests/solvers/mpm_explicit_usf_unitcell_test.cc
${mpm_SOURCE_DIR}/tests/solvers/mpm_explicit_usl_test.cc
${mpm_SOURCE_DIR}/tests/solvers/mpm_explicit_usl_unitcell_test.cc
${mpm_SOURCE_DIR}/tests/solvers/mpm_explicit_twophase_usf_test.cc
${mpm_SOURCE_DIR}/tests/solvers/mpm_explicit_twophase_usf_unitcell_test.cc
${mpm_SOURCE_DIR}/tests/solvers/mpm_explicit_twophase_usl_test.cc
${mpm_SOURCE_DIR}/tests/solvers/mpm_explicit_twophase_usl_unitcell_test.cc
${mpm_SOURCE_DIR}/tests/solvers/mpm_semi_implicit_navierstokes_test.cc
${mpm_SOURCE_DIR}/tests/solvers/mpm_semi_implicit_navierstokes_unitcell_test.cc
${mpm_SOURCE_DIR}/tests/solvers/mpm_semi_implicit_twophase_test.cc
${mpm_SOURCE_DIR}/tests/solvers/mpm_semi_implicit_twophase_unitcell_test.cc
${mpm_SOURCE_DIR}/tests/solvers/mpm_scheme_test.cc
${mpm_SOURCE_DIR}/tests/nodal_properties_test.cc
${mpm_SOURCE_DIR}/tests/node_map_test.cc
${mpm_SOURCE_DIR}/tests/node_test.cc
${mpm_SOURCE_DIR}/tests/node_vector_test.cc
${mpm_SOURCE_DIR}/tests/particle_cell_crossing_test.cc
${mpm_SOURCE_DIR}/tests/particle_serialize_deserialize_test.cc
${mpm_SOURCE_DIR}/tests/particle_test.cc
${mpm_SOURCE_DIR}/tests/particle_traction_test.cc
${mpm_SOURCE_DIR}/tests/particle_vector_test.cc
${mpm_SOURCE_DIR}/tests/point_in_cell_test.cc
)
add_executable(mpmtest ${mpm_src} ${test_src})
add_test(NAME mpmtest COMMAND $<TARGET_FILE:mpmtest>)
Expand Down
154 changes: 154 additions & 0 deletions cmake/FindPETSc.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
#################################################################
# Try to find PETSc #
# #
# Once done this will define: #
# PETSC_FOUND - system has PETSc #
# PETSC_DIR - PETSc directory #
# PETSC_ARCH - PETSc architecture #
# PETSC_INC - PETSc include directory #
# PETSC_LIB - PETSc library (static or dynamic) #
# PETSC_VARIABLES - Content of PETSc 'petscvariables' file #
# #
# PETSC_MUMPS - Was PETSc compiled with MUMPS? #
# PETSC_MUMPS_INC - PETSc MUMPS include file #
# PETSC_MUMPS_LIB - PETSc MUMPS libraries #
# #
# PETSC_SCALAPACK - Was PETSc compiled with ScaLAPACK? #
# PETSC_SCALAPACK_LIB - PETSc ScaLAPACK libraries #
# #
# PETSC_PARMETIS - Was PETSc compiled with ParMETIS? #
# PETSC_PARMETIS_LIB - PETSc ParMETIS libraries #
# #
# PETSC_METIS - Was PETSc compiled with Metis? #
# PETSC_METIS_LIB - PETSc METIS libraries #
# #
# PETSC_MPIUNI - Was PETSc compiled with MPIUNI? #
# PETSC_MPIUNI_INC - MPIUNI include file #
# #
# Usage: #
# find_package(PETSc) #
# #
# Setting these changes the behavior of the search #
# PETSC_DIR - PETSc directory #
# PETSC_ARCH - PETSc architecture #
#################################################################

## Try to set PETSC_DIR and PETSC_ARCH ##
#########################################
if(NOT DEFINED PETSC_DIR)
set(PETSC_DIR $ENV{PETSC_DIR})
endif()
if(NOT DEFINED PETSC_ARCH)
set(PETSC_ARCH $ENV{PETSC_ARCH})
endif()

## Includes ##
##############
if(EXISTS "${PETSC_DIR}/include" AND
EXISTS "${PETSC_DIR}/${PETSC_ARCH}/include")
set(PETSC_INC "${PETSC_DIR}/include" "${PETSC_DIR}/${PETSC_ARCH}/include")
else()
message(SEND_ERROR "PETSc includes not found")
endif()

## Library ##
#############
if(EXISTS "${PETSC_DIR}/${PETSC_ARCH}/lib/libpetsc.so")
set(PETSC_LIB "${PETSC_DIR}/${PETSC_ARCH}/lib/libpetsc.so")
elseif(EXISTS "${PETSC_DIR}/${PETSC_ARCH}/lib/libpetsc.a")
set(PETSC_LIB "${PETSC_DIR}/${PETSC_ARCH}/lib/libpetsc.a")
else()
message(SEND_ERROR "PETSc library not found")
endif()

## PETSc variables ##
#####################
if(EXISTS ${PETSC_DIR}/${PETSC_ARCH}/conf/petscvariables)
file(STRINGS ${PETSC_DIR}/${PETSC_ARCH}/conf/petscvariables
PETSC_VARIABLES NEWLINE_CONSUME)
elseif(EXISTS ${PETSC_DIR}/${PETSC_ARCH}/lib/petsc/conf/petscvariables)
file(STRINGS ${PETSC_DIR}/${PETSC_ARCH}/lib/petsc/conf/petscvariables
PETSC_VARIABLES NEWLINE_CONSUME)
else()
message(SEND_ERROR "PETSc variables not found")
endif()

## MUMPS ##
###########
if(EXISTS ${PETSC_DIR}/${PETSC_ARCH}/lib/libmumps_common.a)
set(PETSC_MUMPS TRUE)
set(PETSC_MUMPS_INC ${PETSC_INC})
set(PETSC_MUMPS_LIB
${PETSC_DIR}/${PETSC_ARCH}/lib/libcmumps.a
${PETSC_DIR}/${PETSC_ARCH}/lib/libdmumps.a
${PETSC_DIR}/${PETSC_ARCH}/lib/libsmumps.a
${PETSC_DIR}/${PETSC_ARCH}/lib/libzmumps.a
${PETSC_DIR}/${PETSC_ARCH}/lib/libmumps_common.a
${PETSC_DIR}/${PETSC_ARCH}/lib/libpord.a)

if(EXISTS ${PETSC_DIR}/${PETSC_ARCH}/lib/libmpiseq.a)
set(PETSC_MUMPS_SEQ ${PETSC_DIR}/${PETSC_ARCH}/lib/libmpiseq.a)
else()
set(PETSC_MUMPS_SEQ "")
endif()

else()
set(PETSC_MUMPS FALSE)
set(PETSC_MUMPS_INC "")
set(PETSC_MUMPS_LIB "")
set(PETSC_MUMPS_SEQ "")
endif()

## ScaLAPACK ##
###############
if(EXISTS ${PETSC_DIR}/${PETSC_ARCH}/lib/libscalapack.a)
set(PETSC_SCALAPACK TRUE)
set(PETSC_SCALAPACK_LIB ${PETSC_DIR}/${PETSC_ARCH}/lib/libscalapack.a)
else()
set(PETSC_SCALAPACK FALSE)
set(PETSC_SCALAPACK_LIB "")
endif()

## ParMETIS ##
##############
if(EXISTS ${PETSC_DIR}/${PETSC_ARCH}/lib/libparmetis.so)
set(PETSC_PARMETIS TRUE)
set(PETSC_PARMETIS_LIB ${PETSC_DIR}/${PETSC_ARCH}/lib/libparmetis.so)
else()
set(PETSC_PARMETIS FALSE)
set(PETSC_PARMETIS_LIB "")
endif()

## METIS ##
############
if(EXISTS ${PETSC_DIR}/${PETSC_ARCH}/lib/libmetis.so)
set(PETSC_METIS TRUE)
set(PETSC_METIS_LIB ${PETSC_DIR}/${PETSC_ARCH}/lib/libmetis.so)
else()
set(PETSC_METIS FALSE)
set(PETSC_METIS_LIB "")
endif()

## MPI Uni ##
#############
string(REGEX MATCH "MPI_IS_MPIUNI = [^\n\r]*" PETSC_MPIUNI ${PETSC_VARIABLES})
if(PETSC_MPIUNI)
string(REPLACE "MPI_IS_MPIUNI = " "" PETSC_MPIUNI ${PETSC_MPIUNI})
string(STRIP ${PETSC_MPIUNI} PETSC_MPIUNI)
string(COMPARE EQUAL ${PETSC_MPIUNI} "1" PETSC_MPIUNI)

string(REGEX MATCH "MPI_INCLUDE = -I[^\n\r]*"
PETSC_MPIUNI_INC ${PETSC_VARIABLES})
string(REPLACE "MPI_INCLUDE = -I" "" PETSC_MPIUNI_INC ${PETSC_MPIUNI_INC})
string(STRIP ${PETSC_MPIUNI_INC} PETSC_MPIUNI_INC)
else()
set(PETSC_MPIUNI FALSE)
set(PETSC_MPIUNI_INC "")
endif()

## CMake check and done ##
##########################
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(PETSc
"PETSc could not be found: be sure to set PETSC_DIR and PETSC_ARCH in your environment variables"
PETSC_LIB PETSC_INC PETSC_DIR PETSC_ARCH)
2 changes: 1 addition & 1 deletion cmake/git_watcher.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -311,4 +311,4 @@ function(Main)
endfunction()

# And off we go...
Main()
Main()
Loading