Skip to content

feat: electrostatics#3698

Open
lihanyu97 wants to merge 28 commits into
developfrom
li/electrostatics
Open

feat: electrostatics#3698
lihanyu97 wants to merge 28 commits into
developfrom
li/electrostatics

Conversation

@lihanyu97

Copy link
Copy Markdown

Initial implementation of electrostatics system with Butler-Volmer reaction computed with jumps on the split surface

@jhuang2601 jhuang2601 changed the title Li/electrostatics feat: electrostatics Jun 6, 2025
@lihanyu97 lihanyu97 added the ci: run CUDA builds Allows to triggers (costly) CUDA jobs label Jan 29, 2026

@frankfeifan frankfeifan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think it's in a good shape. Will need to fix the styling issues and better to add some new baseline tests.

Comment thread host-configs/LLNL/dane-toss_4_x86_64_ib-gcc@12.1.1.cmake

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Better to rename the xmls to something easier to understand the features of the example, e.g., 1D with interface, etc.

Also, I'd suggest adding some small problems to integrated tests.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Same. I'd suggesting adding examples to integrated tests.

Comment thread src/coreComponents/constitutive/electroChemistry/ButlerVolmerReaction.hpp Outdated
Comment thread src/coreComponents/constitutive/electroChemistry/ButlerVolmerReaction.hpp Outdated
Comment thread src/coreComponents/physicsSolvers/electrostatics/Electrostatics.hpp
Comment thread src/coreComponents/physicsSolvers/electrostatics/Electrostatics.cpp Outdated
virtual void postInputInitialization() override;

string m_fieldName;
TimeIntegrationOption m_timeIntegrationOption;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Is m_timeIntegrationOption needed?

});
}

void Electrostatics::applyButlerVolmerCurrent(DofManager const& dofManager, DomainPartition& domain,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Better to make a kernel for it, but not urgent I think.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I mimic the pattern in solid mechanics solver. It's a bit strange it has all the volume integration within kernels but the interface integration is implemented directly inside the solver like this.

@lihanyu97 lihanyu97 added the ci: run code coverage enables running of the code coverage CI jobs label Feb 3, 2026
@codecov

codecov Bot commented Feb 4, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 35.78767% with 375 lines in your changes missing coverage. Please review.
✅ Project coverage is 58.75%. Comparing base (2acb3ef) to head (263126f).
⚠️ Report is 1 commits behind head on develop.

Files with missing lines Patch % Lines
...s/physicsSolvers/electrostatics/Electrostatics.cpp 0.00% 175 Missing ⚠️
...s/kernels/ImplicitFiniteStrainQuasiStatic_impl.hpp 0.00% 60 Missing ⚠️
...csSolvers/electrostatics/ElectrostaticsKernels.hpp 0.00% 37 Missing ⚠️
...titutive/electroChemistry/ButlerVolmerReaction.cpp 0.00% 14 Missing ⚠️
...titutive/electroChemistry/ElectroChemistryBase.cpp 0.00% 14 Missing ⚠️
...ers/solidMechanics/SolidMechanicsLagrangianFEM.cpp 0.00% 13 Missing ⚠️
...ve/solid/SolidModelDiscretizationOpsFullTensor.hpp 0.00% 12 Missing ⚠️
...titutive/electroChemistry/ButlerVolmerReaction.hpp 8.33% 11 Missing ⚠️
...titutive/electroChemistry/ElectroChemistryBase.hpp 8.33% 11 Missing ⚠️
...onstitutive/solid/ElasticIsotropicFiniteStrain.hpp 90.90% 10 Missing ⚠️
... and 4 more
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #3698      +/-   ##
===========================================
- Coverage    58.87%   58.75%   -0.12%     
===========================================
  Files         1353     1366      +13     
  Lines       112953   113534     +581     
===========================================
+ Hits         66504    66711     +207     
- Misses       46449    46823     +374     

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.


set(CMAKE_CXX_COMPILER "/usr/tce/packages/gcc/gcc-12.1.1-magic/bin/g++" CACHE PATH "")

set(CMAKE_Fortran_COMPILER "/usr/tce/packages/gcc/gcc-12.1.1-magic/bin/gfortran" CACHE PATH "")

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can you please pull out any changes to the host-config files as a separate (small) PR? We want to be able to easily track such changes, and they are unrelated to this physics PR.

Also, none of the other configs seem to contain Fortran info. Why is this change necessary? Any changes should likely be as consistent as possible across all configs.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I don't think it's necessary anymore. Will revert it back.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants