-
Notifications
You must be signed in to change notification settings - Fork 84
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
[Solver] Two-Phase One-Point Explicit #680
Open
tianchiTJ
wants to merge
211
commits into
develop
Choose a base branch
from
solver/two-phase-explicit
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 136 commits
Commits
Show all changes
211 commits
Select commit
Hold shift + click to select a range
bbf7c51
Add twophase particle functions
tianchiTJ f3f6fb2
:computer: Refactor particle to handle scalar and vector properties
kks32 ad09dfa
:dart: Add testing to particle refactor of scalar properties
kks32 ac84455
Merge remote-tracking branch 'origin/develop' into solver/two-phase-e…
tianchiTJ 26e5ed9
Add explicit twophase solver
tianchiTJ e68ab89
:computer: Compute mass free function
kks32 d40b6b0
Merge branch 'develop' of https://github.com/cb-geo/mpm into refactor…
bodhinandach 67303d8
:wrench: modify mass, mass_density_volume
bodhinandach 0a6ac16
:wrench: modify compute_mass function
bodhinandach adfd93f
:wrench: refactor particle velocity and displacement
bodhinandach 2b92b3f
:wrench: refactor nodal mass and volume
bodhinandach 336cfe6
:wrench: refactor nodal velocity and acceleration
bodhinandach 91d5c97
:wrench: refactor nodal momentum, external, and internal forces
bodhinandach 8ed2eb8
:wrench: refactor nodal pressure
bodhinandach 02911bf
:wrench: Add scalar and vector properties enum
bodhinandach 0feaf6d
:wrench: aesthetic clean up order of initialise()
bodhinandach bcfb878
:wrench: fix particle vector_properties_ size order
bodhinandach 99b9eea
:dart: add testings for update and return functions
bodhinandach 315cfae
Merge branch 'develop' of https://github.com/cb-geo/mpm into refactor…
bodhinandach 2f54b90
:wrench: add overload functions of mapping
bodhinandach 0facda0
:construction: :dart: test nightly benchmarks with refactored particl…
bodhinandach 4136654
:construction: :dart: refactor map_mass_momentum and tests
bodhinandach 9da224f
Merge branch 'develop' of https://github.com/cb-geo/mpm into refactor…
bodhinandach cb71c90
:construction: :dart: refactor map_body_force and update_volume
bodhinandach 52eb2b3
:construction: :dart: change assign_velocity to void and cleanup
bodhinandach a20a2ab
:dart: revert mass change in particle test
bodhinandach 0a0cf7b
:construction: :dart: add return cell pointer and refactor compute_vo…
bodhinandach fe0f9bf
:wrench: add assert in return and update scalar and vector properties
bodhinandach b693709
:construction: :dart: return set traction and refactor map traction
bodhinandach 5fc100e
:construction: :dart: refactor pressure smoothing
bodhinandach bfee43a
:construction: change assign pressure to update pressure
bodhinandach 2727d34
:construction: :dart: refactor update_mass_pressure
bodhinandach f9602fd
:wrench: fix return value of interpolate vector properties
bodhinandach a3ee684
:construction: :dart: use interpolate functions in particle
bodhinandach 45aa3ba
:construction: refactor pressure smoothing interpolation
bodhinandach 212505e
:dart: fix and add pressure mapping test
bodhinandach 1251bd7
:construction: add TODO notes in particle.tcc
bodhinandach 27ea5d6
:dart: add test for assign and return scalar and vector property
bodhinandach b888b07
Merge branch 'develop' of https://github.com/cb-geo/mpm into refactor…
bodhinandach ae339f1
:wrench: clang format
bodhinandach 7491c34
Add twophase explicit logger
tianchiTJ 3e1aae3
Merge remote-tracking branch 'origin/refactor/particles' into solver/…
tianchiTJ f34b64c
:wrench: remove virtual in initialise particle
bodhinandach 164491f
:dart: :construction_worker: revert benchmarks to gcc
bodhinandach 3d35f45
:wrench: modify explanation as suggested
bodhinandach deb54a7
:construction: :dart: some minor corrections and test addition
bodhinandach fcfcf87
:hammer: Improve performance with vector
kks32 385fcca
:pencil: AssocVector
kks32 86341a6
:fire: Remove unnecessary files
kks32 c8b65cd
:fire: Delete flat_map
kks32 5421984
:pencil: External flat_map
kks32 23be100
:fire: Remove unused includes
kks32 83a1257
Merge branch 'refactor/particles' into refactor/particles-assocvec
bodhinandach fc8a8a2
Merge pull request #672 from kks32/refactor/particles-assocvec
cbgeo 222ca55
:wrench: change flat map initialisation
bodhinandach da461c3
:pencil: External flat_map
kks32 532aca8
:wrench: add mpm_properties
bodhinandach b017a99
:wrench: clang-format
bodhinandach 6de587f
:wrench: add functions and container in node
bodhinandach 9f42d94
:wrench: add functions and container in particle
bodhinandach da1682e
:construction: cosmetic changes as suggested
bodhinandach 3e1f9ff
:construction: add boolean property
bodhinandach a687fa8
Merge branch 'refactor/particles_properties' of https://github.com/cb…
bodhinandach 47c5f48
:wrench: modify function calls
bodhinandach 6e2913b
Merge branch 'develop' into refactor/particles
ezrayst 4899191
Merge branch 'develop' of https://github.com/cb-geo/mpm into refactor…
bodhinandach b8a3932
:construction: :dart: add set_traction to boolean_properties and add …
bodhinandach f2a982c
Merge branch 'develop' of https://github.com/cb-geo/mpm into refactor…
bodhinandach 68506c1
:wrench: fix particle_function for pressure smoothing
bodhinandach 0666b0a
:construction: :dart: refactor and add test for nodal boolean properties
bodhinandach 2858001
Modify twophase part based on new structure
tianchiTJ a893ffe
Merge remote-tracking branch 'origin/refactor/particles' into solver/…
tianchiTJ fc1e539
Modification for the merge
tianchiTJ 16b1ed8
Remove the pressure_smoothing function
tianchiTJ 416b314
Fix the bug for undefined nodal properties
tianchiTJ b32693e
Go back to old version
tianchiTJ 46e0b67
Fix some bug in the test
tianchiTJ 32989ad
clean up
tianchiTJ 99882d2
Clean up
tianchiTJ 6c066c3
:wrench: add assign_state_var and pressure and cleanup
bodhinandach aa7ddfe
Fix the compute mass bug
tianchiTJ 85e76db
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach 3e29ecf
Some clean up work
tianchiTJ 974a86d
Move pressure constraints functions
tianchiTJ 5400fd2
Fix the error in the test
tianchiTJ 178eff0
Add twophase particle test
tianchiTJ 3da5b25
Add 3d twophase particle test
tianchiTJ c69843f
Add twophase_node
tianchiTJ 6b1a3ce
Fix the bug in reading pore pressure constraints
tianchiTJ a015f4f
:construction: add free_surface detection
bodhinandach 9fe7d02
Move pore pressure into state_variables
tianchiTJ 966d51a
:wrench: modify map_pressure_to_nodes in twophase
bodhinandach 56bc776
:construction: revert back assign state vars to void, though keeping …
bodhinandach bff49ec
Fix the test
tianchiTJ feaa3d1
Remove the assign_pore_pressure
tianchiTJ a118f4d
:wrench: add an option to do free surface or not
bodhinandach dc7eeab
Merge branch 'solver/two-phase-explicit' of https://github.com/cb-geo…
bodhinandach 284a0dd
:dart: :construction: add REQUIRE_THROWS in assign pressure
bodhinandach cbd3ef9
:wrench: fix free surface detection input
bodhinandach 82d8ab0
Delete pore_pressure()
tianchiTJ ed844c9
Fix the nodal pressure constraints
tianchiTJ 3cad6b3
Add twophase_node test
tianchiTJ 1961366
:construction: :dart: categorize tests
bodhinandach cae6cfe
Fix bug in twophase_node test
tianchiTJ 095fe39
Merge branch 'solver/two-phase-explicit' of https://github.com/cb-geo…
bodhinandach 4919e84
Merge branch 'feature/vtk-output-statevars' of https://github.com/cb-…
bodhinandach d6681a8
Inpute gravity in initialise pore pressure
tianchiTJ b70e28d
:construction: remove pore_pressure from tensor data and cleanup
bodhinandach a853aac
Add liquid traction
tianchiTJ afc5b15
Modify the apply pressure constraint
tianchiTJ c6f4d7b
Some clean up
tianchiTJ 52f5e0d
Add test for watertable
tianchiTJ 8b09a3c
Add solver test
tianchiTJ 48298d7
Modify two_phase node test
tianchiTJ a281034
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach cde881d
:wrench: :dart: fix write json in test
bodhinandach bb2fcc0
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach 493ddb4
:wrench::dart: merge with develop and vtk branch and fix conflict
bodhinandach 7cb30f9
:wrench: bug fix in MPI transfer
bodhinandach 01c999c
:wrench: bug fix for damping, test is failing
bodhinandach becdfaa
Change the input names for pressure constraints
tianchiTJ eff342f
Fix the test bug of "damping"
tianchiTJ 7f2f40d
:wrench: :dart: fix test category
bodhinandach 55a5eed
Fix the bug for damping
tianchiTJ be2bbb9
Correct the files names
tianchiTJ 304f54a
:wrench: modify some free-surface functions as suggested
bodhinandach 98b7763
:wrench::fire: add hdf5 data structure for twophase
bodhinandach 311be05
:wrench::art: cleanup typo
bodhinandach 708c6d0
:wrench: hdf5 output and initialization in twophase
bodhinandach ae45f5d
:dart: hdf5 twophase particle tested
bodhinandach 656f384
Correct the error in "assign_permeability"
tianchiTJ 7239a63
Merge branch 'solver/two-phase-explicit' of https://github.com/cb-geo…
bodhinandach c68fbd5
:wrench: add mpi_data_twophase to mesh
bodhinandach 8bb993b
:construction: :dart: add particle twophase mpi data transfer test
bodhinandach 783c17e
:wrench: fix bug in initiating liquid state variables
bodhinandach b208bf4
:wrench: modify assign permeability and material() call
bodhinandach 29aeb9c
:wrench: :art: modify cmake list to deactivate HDF5 offsetof warnings
bodhinandach 82bef32
Merge branch 'feature/vtk-output-vars' of https://github.com/cb-geo/m…
bodhinandach af1abe1
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach 6ac4a1b
Add warning information for particle pore pressure
tianchiTJ 64c8bab
Merge branch 'solver/two-phase-explicit' of https://github.com/cb-geo…
bodhinandach 617efba
:wrench: modify initialise_particle
bodhinandach 288b8aa
:construction: change hdf5 output
bodhinandach ec91bc0
:hammer: Use void* to return particle POD
kks32 5af4700
:hammer: Use std::shared_ptr<void> to handle PODs
kks32 dc2ec42
:pencil: :construction: cleanup hdf5_ptr()
bodhinandach 4806e09
:construction: :dart: remove hdf5() and replace completely to hdf5_ptr()
bodhinandach 65d579e
:construction: change initialise_particle input arguments
bodhinandach 859e174
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach 174c5d0
:construction: :wrench: :dart: modify two phase explicit solver and i…
bodhinandach 0b3fd01
Merge branch 'refactor/serialization' of https://github.com/cb-geo/mp…
bodhinandach 1571da3
:wrench: fix conflict with serialize refactoring
bodhinandach 594aa68
:construction: some modification of deserialize and serialize functio…
bodhinandach 2b6cf4b
:construction: add serialize and deserialize in twophase particle
bodhinandach c602ced
:construction: :dart: fix bugs in particle_twophase SD and create tes…
bodhinandach 4dedd01
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach 7081c0e
Merge branch 'refactor/serialization' of https://github.com/cb-geo/mp…
bodhinandach a4dfb76
:wrench: change if throw to assert
bodhinandach 6992ada
:construction: add particle_types_ and modify write_hdf5()
bodhinandach 8b7f384
:construction: chang read_hdf5
bodhinandach 7f42f58
Merge branch 'refactor/serialization' of https://github.com/cb-geo/mp…
bodhinandach 78a0e5a
:dart: reactivate resume test
bodhinandach c919841
:construction: renaming HDF5Particle as PODParticle
bodhinandach 2a2a1a8
:wrench: fix hdf5_ptr casting
bodhinandach 80b2817
:wrench: change hdf5 naming to pod
bodhinandach f7c0af9
:pencil: cleanup documentation and comments
bodhinandach 5eebcf3
:pencil: change naming h5_test to pod_test
bodhinandach bf1fb24
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach 0ace406
:construction: :wrench: add write hdf5 twophase
bodhinandach 2005506
:construction::wrench: add function to read particle hdf5 with specif…
bodhinandach c0ffa57
:wrench: change format back to original read
bodhinandach 5366faf
Merge branch 'hotfix/mpi-buffer' of https://github.com/cb-geo/mpm int…
bodhinandach 5e04ad3
Merge branch 'hotfix/deserialize_particle_bug' of https://github.com/…
bodhinandach 37428ed
:wrench: :dart: add density and svars fix in twophase deserialization
bodhinandach 0df173e
Merge branch 'hotfix/deserialize_particle_bug' of https://github.com/…
bodhinandach 902e10b
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach b69d846
:wrench: fix check non equal
bodhinandach d05373f
:wrench: :construction: :dart: modify 2phase serialization test
bodhinandach 2149eaf
:wrench: add mpi barrier after transfer halo particles
bodhinandach e24d2f1
:wrench: :construction: modify map mixture
bodhinandach 2a741de
:construction: :dart: modify solver as suggested and add test for npa…
bodhinandach 7f96225
:construction: modify as suggested
bodhinandach 974764a
:dart: :construction: radial basis function test
bodhinandach 33f5e97
:construction: :dart: add 2D free surface detection test
bodhinandach f272ee7
:construction: add check cell status in mapping volume
bodhinandach 0738ab2
:construction: change default value for particle density fs detection
bodhinandach 79820f2
:dart: add 3D fsd test
bodhinandach 5abd743
:construction: take id out of the while loop
bodhinandach e3127d1
:construction: add parallel free surface detection by density method
bodhinandach 6e40958
Merge branch 'develop' of https://github.com/cb-geo/mpm into solver/t…
bodhinandach b79e05a
:dart: add test for illegal functions from base class make gravity const
bodhinandach 5763fd0
:construction: remove mass check throw
bodhinandach c2b48f2
Add test file for read particle scalar properties
tianchiTJ 9f3cc4a
Add test function for read_pressure_constraints
tianchiTJ f6022df
Add test functions for pressure constraint
tianchiTJ 1b34a27
:construction: :dart: modify write mesh particle
bodhinandach ad851bf
Change the density tolerance
tianchiTJ ae2b6fe
:construction: correct some suggestions
bodhinandach b8a7d89
:construction: move multiphase functions outside mesh.tcc
bodhinandach ae92ec0
:construction: add groups in cell and node functions
bodhinandach 62e065c
:dart: modify test to fix error in assertion
bodhinandach 32f1c5a
:construction: :dart: change nPhase to NPhase in nodes
bodhinandach 2b195ee
Correct the names of nodal phases
tianchiTJ 689d9fb
Merge branch 'solver/two-phase-explicit' of https://github.com/cb-geo…
tianchiTJ c24b27e
:construction: cleanup as suggested
bodhinandach 4f550b1
:construction: use iterate_over function with lambda function input
bodhinandach 2ddbf23
:construction: modify particle and node functions as suggested
bodhinandach fe725f6
:construction: additional fixes on assertion and some info
bodhinandach eae0fbf
:dart: :construction: remove throw test
bodhinandach 72dbc24
:construction: grouping node multiphase
bodhinandach 2ad9bc2
:dart: :construction: fix test error due to initialise twophase
bodhinandach File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -76,3 +76,4 @@ configure.scan | |
*missing | ||
*stamp-h1 | ||
benchmarks/ | ||
bin/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
#ifndef MPM_HDF5_TWOPHASE_H_ | ||
#define MPM_HDF5_TWOPHASE_H_ | ||
|
||
// HDF5 Particle | ||
#include "hdf5_particle.h" | ||
|
||
namespace mpm { | ||
// Define a struct of particle | ||
typedef struct HDF5ParticleTwoPhase : HDF5Particle { | ||
// Liquid Mass | ||
double liquid_mass; | ||
// Liquid Velocity | ||
double liquid_velocity_x, liquid_velocity_y, liquid_velocity_z; | ||
// Porosity | ||
double porosity; | ||
// Liquid Saturation | ||
double liquid_saturation; | ||
// Material id | ||
unsigned liquid_material_id; | ||
// Number of state variables | ||
unsigned nliquid_state_vars; | ||
// State variables (init to zero) | ||
double liquid_svars[5] = {0}; | ||
} HDF5ParticleTwoPhase; | ||
|
||
namespace hdf5 { | ||
namespace particletwophase { | ||
const hsize_t NFIELDS = 66; | ||
|
||
const size_t dst_size = sizeof(HDF5ParticleTwoPhase); | ||
|
||
// Destination offset | ||
extern const size_t dst_offset[NFIELDS]; | ||
|
||
// Destination size | ||
extern const size_t dst_sizes[NFIELDS]; | ||
|
||
// Define particle field information | ||
extern const char* field_names[NFIELDS]; | ||
|
||
// Initialize field types | ||
extern const hid_t field_type[NFIELDS]; | ||
|
||
} // namespace particletwophase | ||
} // namespace hdf5 | ||
|
||
} // namespace mpm | ||
|
||
#endif // MPM_HDF5_TWOPHASE_H_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would this affect GIMP and other non-local algorithms?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm... That's a good point, but I don't think the free-surface detection can be used for non-local MPM yet in general, so I am expecting this function won't work well too for non-local MPM.