Skip to content

Conversation

@CusiniM
Copy link
Collaborator

@CusiniM CusiniM commented Oct 21, 2024

// transp(B)DB
LvArray::tensorOps::Rij_eq_AikBjk< nUdof, 3, 6 >( Kuw_gauss, matBD, compMatrix );

/// FIX: add old Equilibrium operator times oldStress (in Voigt notation)
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LvArray::tensorOps::Rij_eq_AikBjk< 3, 3, 6 >( rw, eqMatrix, oldStressVoigt );

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and then change uLocal in this kernel to be the increment.

… the solidmechanics efem

2. separate penalty force and fracture pressure contirubtion to the fracture force residual
3. add a sohail's fix to a stencil index issue that causes the crashes of the poromechanics efem-edfm solver
@Guotong-Ren Guotong-Ren self-assigned this Oct 28, 2024
@Guotong-Ren Guotong-Ren added the ci: run integrated tests Allows to run the integrated tests in GEOS CI label Oct 28, 2024
@Guotong-Ren Guotong-Ren changed the title EFEM bugfixes: effective traction + oldStress fix: EFEM bugfixes effective traction + oldStress Oct 28, 2024
@Guotong-Ren Guotong-Ren added ci: run CUDA builds Allows to triggers (costly) CUDA jobs type: bug Something isn't working labels Oct 28, 2024
porousMaterialWrapper.updateStateFromPressureApertureJumpAndTraction( k, 0, pressure[k],
oldHydraulicAperture[k], hydraulicAperture[k],
dHydraulicAperture_dNormalJump,
jump, traction );
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in the previous version, the total traction is passed to the porousMaterialWrapper to update perm. I think only contact traction is needed here. I corrected it here but it may change the results from Integrated Tests. @CusiniM @paveltomin

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now the traction in ContactFields.hpp only represents the contact traction which will be rendered in paraview. Like total stress and effective stress in the rock matrix, user has to do their own calculation to get total force on the fracture. I think this will make the naming more consistent with the data stored here. @CusiniM @paveltomin

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would call it effectiveTraction but yes, this is how it should be IMO. It's also how it is for the other contact solver so it's nice to be consistent.

real64 const localJumpFracPressureJacobian = -m_dTraction_dPressure[embSurfIndex] * m_surfaceArea[embSurfIndex];

// fracture pressure only affects normal direction
stack.localJumpResidual[0] += m_fracturePressure[embSurfIndex] * m_surfaceArea[embSurfIndex];
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this sign... I guess that if it works it must be correct.

arrayView2d< real64 > const & fractureTraction = subRegion.template getField< fields::contact::traction >();

arrayView1d< real64 > const & dTdpf = subRegion.template getField< fields::contact::dTraction_dPressure >();
arrayView2d< real64 > const & fractureContactTraction = subRegion.template getField< fields::contact::traction >();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I gave a different name called fractureContactTraction. if you prefer to effectiveTraction, i can change it. @CusiniM

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I prefer effectiveTraction. I even think that we should change the name of the field that gets written in teh output. That would actually be more important coz this is just an internal name

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i agree. we should refactor it. e.g., two distinct traction fields, one is total while the other is effective. It will make the meaning much clear.

@CusiniM CusiniM added the flag: requires rebaseline Requires rebaseline branch in integratedTests label Oct 29, 2024
stencilCellsSubRegionIndex[1] = 0;
stencilCellsIndex[1] = kes;
stencilWeights[1] = 4. * faceArea[fractureRegionIndex] / hydraulicAperture[fractureRegionIndex][0][kes];
stencilWeights[1] = 4. * faceArea[kes] / hydraulicAperture[fractureRegionIndex][0][kes];
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

weird bug...

@Guotong-Ren Guotong-Ren removed ci: run CUDA builds Allows to triggers (costly) CUDA jobs ci: run integrated tests Allows to run the integrated tests in GEOS CI labels Oct 31, 2024
@paveltomin paveltomin added ci: run CUDA builds Allows to triggers (costly) CUDA jobs ci: run integrated tests Allows to run the integrated tests in GEOS CI ci: run code coverage enables running of the code coverage CI jobs labels Nov 5, 2024
@codecov
Copy link

codecov bot commented Nov 6, 2024

Codecov Report

Attention: Patch coverage is 0% with 21 lines in your changes missing coverage. Please review.

Project coverage is 57.53%. Comparing base (e3445a3) to head (f5fe5ce).
Report is 70 commits behind head on develop.

Files with missing lines Patch % Lines
...anicsKernels/SinglePhasePoromechanicsEFEM_impl.hpp 0.00% 8 Missing ⚠️
...sSolvers/contact/SolidMechanicsEFEMKernelsBase.hpp 0.00% 5 Missing ⚠️
...Components/constitutive/solid/CoupledSolidBase.hpp 0.00% 2 Missing ⚠️
...sics/SinglePhasePoromechanicsEmbeddedFractures.cpp 0.00% 2 Missing ⚠️
...omechanicsKernels/SinglePhasePoromechanicsEFEM.hpp 0.00% 2 Missing ⚠️
...ponents/finiteVolume/TwoPointFluxApproximation.cpp 0.00% 1 Missing ⚠️
...ysicsSolvers/contact/SolidMechanicsEFEMKernels.hpp 0.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #3408      +/-   ##
===========================================
- Coverage    57.53%   57.53%   -0.01%     
===========================================
  Files         1092     1092              
  Lines        97848    97858      +10     
===========================================
+ Hits         56299    56301       +2     
- Misses       41549    41557       +8     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@paveltomin paveltomin changed the title fix: EFEM bugfixes effective traction + oldStress fix: EFEM bugfixes - effective traction + oldStress Nov 6, 2024
@paveltomin paveltomin merged commit 9db5dbf into develop Nov 6, 2024
24 of 26 checks passed
@paveltomin paveltomin deleted the bugfix/cusini/edfm-bugfixes branch November 6, 2024 15:58
danielemoretto44 pushed a commit that referenced this pull request Sep 22, 2025
Co-authored-by: Guotong-Ren <133127368+Guotong-Ren@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci: run code coverage enables running of the code coverage CI jobs ci: run CUDA builds Allows to triggers (costly) CUDA jobs ci: run integrated tests Allows to run the integrated tests in GEOS CI flag: requires rebaseline Requires rebaseline branch in integratedTests type: bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants