-
Notifications
You must be signed in to change notification settings - Fork 89
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
fix: delta volume fix plus some other stuff #3453
Open
paveltomin
wants to merge
19
commits into
develop
Choose a base branch
from
pt/deltaVolume-fix
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 all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
a599f70
EDFM bugfixes, part of #3348
f41e051
fix sign directly in computeLimitTangentialTractionNorm
922951b
code style
1456769
Merge branch 'develop' into pt/edfm-sohail-bugfix
paveltomin 0bffafb
Merge branch 'develop' into pt/edfm-sohail-bugfix
paveltomin 78a90da
Update .integrated_tests.yaml
paveltomin 4cfc999
Update BASELINE_NOTES.md
paveltomin 63920c7
Merge branch 'develop' into pt/edfm-sohail-bugfix
paveltomin 0b3cad5
make that case running
701a258
code style
6cd5f0b
Merge branch 'develop' into pt/edfm-sohail-bugfix
paveltomin 63aa00c
delta volume fix plus some other stuff
029bd07
make default aperture consistent with table
ac10879
Merge branch 'pt/edfm-sohail-bugfix' into pt/deltaVolume-fix
paveltomin 76501a3
Merge branch 'develop' into pt/deltaVolume-fix
paveltomin c48028f
Update ExponentialDecayPermeability_edfm_base.xml
paveltomin e1114bb
Merge branch 'develop' into pt/deltaVolume-fix
paveltomin 805e889
Update ThermalSinglePhasePoromechanicsEFEM_impl.hpp
paveltomin 10fadd4
Merge branch 'develop' into pt/deltaVolume-fix
paveltomin 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
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 |
---|---|---|
|
@@ -250,7 +250,6 @@ class SinglePhasePoromechanicsEFEM : | |
/// The rank global densities | ||
arrayView2d< real64 const > const m_solidDensity; | ||
arrayView2d< real64 const > const m_fluidDensity; | ||
arrayView2d< real64 const > const m_fluidDensity_n; | ||
arrayView2d< real64 const > const m_dFluidDensity_dPressure; | ||
|
||
/// The rank-global fluid pressure array. | ||
|
@@ -259,9 +258,6 @@ class SinglePhasePoromechanicsEFEM : | |
/// The rank-global fluid pressure array. | ||
arrayView1d< real64 const > const m_fracturePressure; | ||
|
||
/// The rank-global delta-fluid pressure array. | ||
arrayView2d< real64 const > const m_porosity_n; | ||
|
||
arrayView2d< real64 const > const m_tractionVec; | ||
|
||
arrayView3d< real64 const > const m_dTraction_dJump; | ||
|
@@ -284,6 +280,8 @@ class SinglePhasePoromechanicsEFEM : | |
|
||
arrayView1d< real64 const > const m_deltaVolume; | ||
|
||
arrayView1d< real64 const > const m_mass_n; | ||
|
||
SortedArrayView< localIndex const > const m_fracturedElems; | ||
|
||
ArrayOfArraysView< localIndex const > const m_cellsToEmbeddedSurfaces; | ||
|
@@ -307,70 +305,6 @@ using SinglePhaseKernelFactory = finiteElement::KernelFactory< SinglePhasePorome | |
real64 const (&)[3], | ||
string const >; | ||
|
||
/** | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. removed since it is basically a copy of the same from DFM |
||
* @brief A struct to perform volume, aperture and fracture traction updates | ||
*/ | ||
struct StateUpdateKernel | ||
{ | ||
|
||
/** | ||
* @brief Launch the kernel function doing volume, aperture and fracture traction updates | ||
* @tparam POLICY the type of policy used in the kernel launch | ||
* @tparam CONTACT_WRAPPER the type of contact wrapper doing the fracture traction updates | ||
* @param[in] size the size of the subregion | ||
* @param[in] contactWrapper the wrapper implementing the contact relationship | ||
* @param[in] dispJump the displacement jump | ||
* @param[in] pressure the pressure | ||
* @param[in] area the area | ||
* @param[in] volume the volume | ||
* @param[out] deltaVolume the change in volume | ||
* @param[out] aperture the aperture | ||
* @param[out] hydraulicAperture the effecture aperture | ||
* @param[out] fractureContactTraction the fracture contact traction | ||
*/ | ||
template< typename POLICY, typename POROUS_WRAPPER, typename CONTACT_WRAPPER > | ||
static void | ||
launch( localIndex const size, | ||
CONTACT_WRAPPER const & contactWrapper, | ||
POROUS_WRAPPER const & porousMaterialWrapper, | ||
arrayView2d< real64 const > const & dispJump, | ||
arrayView1d< real64 const > const & pressure, | ||
arrayView1d< real64 const > const & area, | ||
arrayView1d< real64 const > const & volume, | ||
arrayView1d< real64 > const & deltaVolume, | ||
arrayView1d< real64 > const & aperture, | ||
arrayView1d< real64 const > const & oldHydraulicAperture, | ||
arrayView1d< real64 > const & hydraulicAperture, | ||
arrayView2d< real64 > const & fractureEffectiveTraction ) | ||
{ | ||
forAll< POLICY >( size, [=] GEOS_HOST_DEVICE ( localIndex const k ) | ||
{ | ||
// update aperture to be equal to the normal displacement jump | ||
aperture[k] = dispJump[k][0]; // the first component of the jump is the normal one. | ||
|
||
real64 dHydraulicAperture_dNormalJump = 0.0; | ||
real64 dHydraulicAperture_dNormalTraction = 0.0; | ||
hydraulicAperture[k] = contactWrapper.computeHydraulicAperture( aperture[k], | ||
fractureEffectiveTraction[k][0], | ||
dHydraulicAperture_dNormalJump, | ||
dHydraulicAperture_dNormalTraction ); | ||
|
||
deltaVolume[k] = hydraulicAperture[k] * area[k] - volume[k]; | ||
|
||
real64 const jump[3] = LVARRAY_TENSOROPS_INIT_LOCAL_3 ( dispJump[k] ); | ||
real64 const effectiveTraction[3] = LVARRAY_TENSOROPS_INIT_LOCAL_3 ( fractureEffectiveTraction[k] ); | ||
|
||
// all perm update models below should need effective traction instead of total traction | ||
// (total traction is combined forces of fluid pressure and effective traction) | ||
porousMaterialWrapper.updateStateFromPressureApertureJumpAndTraction( k, 0, pressure[k], | ||
oldHydraulicAperture[k], hydraulicAperture[k], | ||
dHydraulicAperture_dNormalJump, | ||
jump, effectiveTraction ); | ||
|
||
} ); | ||
} | ||
}; | ||
|
||
} // namespace poromechanicsEFEMKernels | ||
|
||
} /* namespace geos */ | ||
|
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.
the main fix is here
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.
the fix is not needed when defaultAperture is consistent with hydraulic aperture table
still it provides some safeguard when it is not consitent and make hydraulic aperture table override what what specified in defaultAperture
@CusiniM, @Guotong-Ren, @rrsettgast please let me know if it makes sense to merge it?