From 5184caeee5ae434dc819ea1181683406e5e9ae19 Mon Sep 17 00:00:00 2001 From: JGonzalez Date: Tue, 5 May 2026 10:36:12 +0200 Subject: [PATCH] Working with Ampere's law --- src/modules/mesh/moduleMesh@boundaryEM.f90 | 23 +++++++++++----------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/modules/mesh/moduleMesh@boundaryEM.f90 b/src/modules/mesh/moduleMesh@boundaryEM.f90 index 85780d2..b3f69bf 100644 --- a/src/modules/mesh/moduleMesh@boundaryEM.f90 +++ b/src/modules/mesh/moduleMesh@boundaryEM.f90 @@ -383,7 +383,6 @@ submodule(moduleMesh) boundaryEM ! TODO: Make an input parameter every = 10 - select type(self) type is(boundaryEMFreeCurrent) self%counter = self%counter + 1 @@ -407,24 +406,24 @@ submodule(moduleMesh) boundaryEM ! Density is reescaled as 'den' has no data about the node volume mom_nodes(n) = - dot_product(node%output(s)%mom, edge%normal)/(node%v*Vol_ref*n_ref) ! Avoid the contribution of returning particles close to the edge - if (mom_nodes(n) < 0.0d0) then - mom_nodes(n) = 0.0d0 + ! if (mom_nodes(n) < 0.0d0) then + ! mom_nodes(n) = 0.0d0 - end if - den_nodes(n) = node%output(s)%den/(node%v*Vol_ref*n_ref) + ! end if + ! den_nodes(n) = node%output(s)%den/(node%v*Vol_ref*n_ref) end do - mom_center = mom_center + edge%gatherF(edge%centerXi(), edge%nNodes, mom_nodes) - den_center = den_center + edge%gatherF(edge%centerXi(), edge%nNodes, den_nodes) - charge_center = charge_center + qSpecies(s)*edge%gatherF(edge%centerXi(), edge%nNodes, den_nodes) + mom_center = mom_center + qSpecies(s)*edge%gatherF(edge%centerXi(), edge%nNodes, mom_nodes) + ! den_center = den_center + edge%gatherF(edge%centerXi(), edge%nNodes, den_nodes) + ! charge_center = charge_center + qSpecies(s)*edge%gatherF(edge%centerXi(), edge%nNodes, den_nodes) end do - if (den_center > 1.0e-12) then - self%deltaElectricField(e) = self%deltaElectricField(e) + mom_center / den_center * charge_center * tauMin + ! if (den_center > 1.0e-12) then + self%deltaElectricField(e) = self%deltaElectricField(e) + mom_center * tauMin - end if + ! end if deallocate(nodes, mom_nodes, den_nodes) @@ -434,7 +433,7 @@ submodule(moduleMesh) boundaryEM end do if (self%counter == every) then - self%electricField = self%electricField - self%deltaElectricField!*every_inv + self%electricField = self%electricField - self%deltaElectricField self%counter = 0 self%deltaElectricField = 0.0d0