Skip to content

Commit 06066fe

Browse files
committed
Merge branch 'add_to_scatter'
2 parents d49a1fe + 271a463 commit 06066fe

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

Bassetti_Erskine.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ def solve(self, rho = None, flag_verbose = False):
105105
if not self.allow_scatter_and_solve:
106106
raise ValueError('Bassetti_Erskine: nothing to solve!!!!')
107107

108-
def scatter(self, x_mp, y_mp, nel_mp, charge = -qe):
108+
def scatter(self, x_mp, y_mp, nel_mp, charge = -qe, flag_add=False):
109109
if not self.allow_scatter_and_solve:
110110
raise ValueError('Bassetti_Erskine: what do you want to scatter???!!!!')
111111

MultiGrid.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ def __init__(self, pic_external, x_min_internal, x_max_internal, y_min_internal,
4242
self.N_nodes_discard = N_nodes_discard
4343
self.D_discard = N_nodes_discard*Dh_internal
4444

45-
def scatter(self, x_mp, y_mp, nel_mp, charge = -qe):
46-
self.pic_external.scatter(x_mp, y_mp, nel_mp, charge)
47-
self.pic_internal.scatter(x_mp, y_mp, nel_mp, charge)
45+
def scatter(self, x_mp, y_mp, nel_mp, charge = -qe, flag_add=False):
46+
self.pic_external.scatter(x_mp, y_mp, nel_mp, charge, flag_add)
47+
self.pic_internal.scatter(x_mp, y_mp, nel_mp, charge, flag_add)
4848

4949

5050
def gather(self, x_mp, y_mp):

PyPIC_Scatter_Gather.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -133,17 +133,20 @@ def __init__(self, x_aper=None, y_aper=None, dx=None, dy=None, xg=None, yg=None,
133133

134134

135135
#@profile
136-
def scatter(self, x_mp, y_mp, nel_mp, charge = -qe):
136+
def scatter(self, x_mp, y_mp, nel_mp, charge = -qe, flag_add=False):
137137

138138
if not (len(x_mp)==len(y_mp)==len(nel_mp)):
139139
raise ValueError('x_mp, y_mp, nel_mp should have the same length!!!')
140140

141141
if len(x_mp)>0:
142142
rho=rhocom.compute_sc_rho(x_mp,y_mp,nel_mp,self.bias_x,self.bias_y,self.dx,self.dy,self.Nxg,self.Nyg)
143+
else:
144+
rho=self.rho*0.
143145

144-
self.rho=charge*rho/(self.dx*self.dy);
146+
if flag_add:
147+
self.rho+=charge*rho/(self.dx*self.dy);
145148
else:
146-
self.rho=self.rho*0.
149+
self.rho=charge*rho/(self.dx*self.dy);
147150

148151

149152
def gather(self, x_mp, y_mp):
@@ -200,8 +203,8 @@ def solve(self, *args, **kwargs):
200203
pass
201204

202205
#@profile
203-
def scatter_and_solve(self, x_mp, y_mp, nel_mp, charge = -qe):
204-
self.scatter(x_mp, y_mp, nel_mp, charge)
206+
def scatter_and_solve(self, x_mp, y_mp, nel_mp, charge = -qe, flag_add=False):
207+
self.scatter(x_mp, y_mp, nel_mp, charge, flag_add)
205208
self.solve()
206209

207210

0 commit comments

Comments
 (0)