From bec3a1045ea18c5699319305eb856f20615811fe Mon Sep 17 00:00:00 2001 From: JGonzalez Date: Fri, 10 Apr 2026 22:23:24 +0200 Subject: [PATCH 1/2] Do not put initial charge, just change the voltaje over time --- src/modules/mesh/moduleMesh@boundaryEM.f90 | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/modules/mesh/moduleMesh@boundaryEM.f90 b/src/modules/mesh/moduleMesh@boundaryEM.f90 index c43dd8e..5d4fa58 100644 --- a/src/modules/mesh/moduleMesh@boundaryEM.f90 +++ b/src/modules/mesh/moduleMesh@boundaryEM.f90 @@ -159,7 +159,7 @@ submodule(moduleMesh) boundaryEM ! Inverse of non-dimensional capacitance self%invC = 1.0d0 / (capacitance / (eps_0 * L_ref)) - self%charge = self%potential / self%invC + self%charge = 0.0d0 self%update => updateFloating @@ -200,7 +200,7 @@ submodule(moduleMesh) boundaryEM class(meshEdge), pointer:: edge real(8), allocatable:: mom_nodes(:) class(meshNode), pointer:: node - real(8):: mom_center, edgeDensityCurrent + real(8):: mom_center, edgeDensityCurrent, chargeTau select type(self) type is(boundaryEMFloating) @@ -230,12 +230,14 @@ submodule(moduleMesh) boundaryEM end do + chargeTau = edgeDensityCurrent * edge%surface * tauMin + ! Accumulate charge of speceis on surface - self%charge = self%charge + edgeDensityCurrent * edge%surface * tauMin + self%charge = self%charge + chargeTau end do - self%potential = self%charge * self%invC + self%potential = self%potential + chargeTau * self%invC end select From a9cc3bba50a3f0cdecdd927b5714f27cde2cac0c Mon Sep 17 00:00:00 2001 From: JGonzalez Date: Fri, 10 Apr 2026 22:38:02 +0200 Subject: [PATCH 2/2] While checking some things, I noticed 1DRad edge was missing geometry factor --- src/modules/mesh/1DRad/moduleMesh1DRad.f90 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/mesh/1DRad/moduleMesh1DRad.f90 b/src/modules/mesh/1DRad/moduleMesh1DRad.f90 index 99aef3e..79517d3 100644 --- a/src/modules/mesh/1DRad/moduleMesh1DRad.f90 +++ b/src/modules/mesh/1DRad/moduleMesh1DRad.f90 @@ -103,6 +103,7 @@ MODULE moduleMesh1DRad SUBROUTINE initEdge1DRad(self, n, p, ps) USE moduleSpecies, only:nSpecies USE moduleErrors + use moduleConstParam, only: pi4 IMPLICIT NONE CLASS(meshEdge1DRad), INTENT(out):: self @@ -121,7 +122,7 @@ MODULE moduleMesh1DRad self%r = r1(1) - self%surface = 1.D0 + self%surface = pi4 * self%r**2 self%normal = (/ 1.D0, 0.D0, 0.D0 /)