festim-dev / FESTIM

Coupled hydrogen/tritium transport and heat transfer modelling using FEniCS
https://festim.readthedocs.io/en/stable/
Apache License 2.0
90 stars 23 forks source link

`SurfaceKinetics` BC #791

Closed KulaginVladimir closed 3 months ago

KulaginVladimir commented 3 months ago

Proposed changes

This PR represents the initial attempt on implementing Surface Kinetics feature as a new boundary condition in FESTIM and is aimed at starting the discussion. Additionally, a specific DerivedQuantity is introduced to export the surface concentration of H.

To-do list:

Types of changes

What types of changes does your code introduce to FESTIM?

Checklist

codecov[bot] commented 3 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 99.55%. Comparing base (b56a3dc) to head (86ed906). Report is 145 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #791 +/- ## ========================================== + Coverage 99.53% 99.55% +0.02% ========================================== Files 59 61 +2 Lines 2582 2705 +123 ========================================== + Hits 2570 2693 +123 Misses 12 12 ```

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

KulaginVladimir commented 3 months ago

I noticed that SurfaceKinetics breaks the right content menu in API, so the subsection Flux doesn't open

image

RemDelaporteMathurin commented 3 months ago

I noticed that SurfaceKinetics breaks the right content menu in API, so the subsection Flux doesn't open

Right this doesn't occur on main. This is a wild guess but could it be because of the warning block? Does this appear when you compile locally?

RemDelaporteMathurin commented 3 months ago

@KulaginVladimir this is very good thank you so much for this AWESOME contribution! This opens up so many possibilities with FESTIM! 🚀

Would you mind attaching to this PR an example script for us to play with, like the Ti validation case or maybe the model from @ehodille ?

KulaginVladimir commented 3 months ago

@RemDelaporteMathurin, I can attach both scripts as there are some differences. Or I can make a separate repository with these cases.

We can either add a Theory section in this PR or do it in another one. Either is fine with me.

I'd like to add theory and UG in a separate PR to avoid possible conflicts. Is it OK?

RemDelaporteMathurin commented 3 months ago

I can attach both scripts as there are some differences. Or I can make a separate repository with these cases.

Whatever's easiest for you.

I'd like to add theory and UG in a separate PR to avoid possible conflicts. Is it OK?

No problem!

KulaginVladimir commented 3 months ago

This repository (https://github.com/KulaginVladimir/FESTIM-SurfaceKinetics-Validation) includes all cases that I attempted to reproduce with this surface model.

RemDelaporteMathurin commented 3 months ago

image

I managed to reproduce the figures! This is a slick implementation!