Working with Ampere's law
This commit is contained in:
parent
c7db17ecd2
commit
5184caeee5
1 changed files with 11 additions and 12 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue