GEOS icon indicating copy to clipboard operation
GEOS copied to clipboard

Implemented face-based lagrange contact solver with VEM

Open IsaacJu-debug opened this issue 11 months ago • 4 comments

This PR implements a face-based lagrange contact solver with virtual element method. The code is largely based on the original lagrange contact solver, equipped with newly implemented computeProjectors methods for evaluating contact works when dealing with polygonal faces. So, the current implementation is essentially an extension of lagrange contact solver. As a lot of codes are duplicated, I am thinking of creating a PR to see if there would be better way to design the solver . Also, it would be a good idea to merge with the newly refactored contact solver before we can move into the multiphase poromechanics with contact.

IsaacJu-debug avatar Feb 28 '24 01:02 IsaacJu-debug

Thank you, @IsaacJu-debug. My suggestions:

  • add a few test cases that you are sure running fine
  • use them as reference and refactor your code: main thing is to try to inherit SolidMechanicsConformingFracturesVEM from SolidMechanicsLagrangeContact to avoid code duplication, that should be quite straightforward
  • explore if SinglePhasePoromechanicsConformingFracturesVEM even needed or it could be done through
template <typename MECHANICS_SOLVER>
class SinglePhasePoromechanicsConformingFractures : public SinglePhasePoromechanics< SinglePhaseBase, MECHANICS_SOLVER >

with MECHANICS_SOLVER=SinglePhasePoromechanicsConformingFracturesVEM

@CusiniM and @castelletto1 please correct me if I am missing something

paveltomin avatar Feb 28 '24 14:02 paveltomin

Codecov Report

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

Project coverage is 53.05%. Comparing base (4696a65) to head (450e2ff). Report is 2 commits behind head on develop.

:exclamation: Current head 450e2ff differs from pull request most recent head 9178d2b. Consider uploading reports for the commit 9178d2b to get more accurate results

Files Patch % Lines
...sSolvers/contact/SolidMechanicsLagrangeContact.cpp 0.00% 256 Missing :warning:
...cs/SinglePhasePoromechanicsConformingFractures.cpp 0.00% 28 Missing :warning:
...omponents/mesh/utilities/ComputationalGeometry.hpp 0.00% 11 Missing :warning:
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #3006      +/-   ##
===========================================
- Coverage    53.20%   53.05%   -0.16%     
===========================================
  Files          989      989              
  Lines        83456    83691     +235     
===========================================
- Hits         44405    44403       -2     
- Misses       39051    39288     +237     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Mar 01 '24 21:03 codecov[bot]

@castelletto1 @CusiniM is this good to go ?

paveltomin avatar Mar 13 '24 03:03 paveltomin

move to merge queue?

paveltomin avatar Mar 18 '24 15:03 paveltomin