From 2a779c3a2dec17b780668d25aa2aa64c9fae6a9a Mon Sep 17 00:00:00 2001 From: Michael Krayer Date: Mon, 2 Aug 2021 10:54:59 +0200 Subject: [PATCH] renamed set_noslip_bc because this symmetry should (maybe) not be used --- parallel.py | 31 ++++++------------------------- 1 file changed, 6 insertions(+), 25 deletions(-) diff --git a/parallel.py b/parallel.py index 5da4329..5a50dbf 100644 --- a/parallel.py +++ b/parallel.py @@ -501,7 +501,7 @@ class PPP: self.init_mirror_symmetry(key,axis,+1) return - def init_mirror_symmetry(self,key,axis,wall): + def init_mirror_symmetry(self,key,axis,wall,invert=False): '''Applies symmetry: [u,v,w](x,-y,z) -> [u,-v,w](x,y,z) Proposed by Lozano-Duran JFM 2016 and used for free-slip.''' if self.periodicity[axis]: @@ -515,33 +515,14 @@ class PPP: sl[axis] = iwall sl = tuple(sl) if key==keyu[axis]: - self.symmetries[key][sl] = -1 + self.symmetries[key][sl] = -1 if not invert else +1 else: - self.symmetries[key][sl] = 1 + self.symmetries[key][sl] = +1 if not invert else -1 return - def set_noslip_bc(self,axis,wall): - '''Applies symmetry: [u,v,w](x,-y,z) -> [-u,v,-w](x,y,z) - The boundary conditions are only applied to fields which have already been loaded!''' - if self.periodicity[axis]: - return - if wall in (-1,'low'): iwall = 0 - elif wall in (1,'high'): iwall = 2 - else: raise ValueError('Invalid value for "wall". Valid values are -1 / "low" or 1 / "high".') - keyu = ('u','v','w') - for key in keyu: - if not key in self.symmetries: - continue - # Get position in symmetries array to be edited - sl = [1,1,1] - sl[axis] = iwall - sl = tuple(sl) - if key==keyu[axis]: - self.symmetries[key][sl] = 1 - else: - self.symmetries[key][sl] = -1 - self.impose_boundary_conditions(key) - return + def init_inversion_symmetry(self,key,axis,wall): + '''Applies symmetry: [u,v,w](x,-y,z) -> [-u,v,-w](x,y,z)''' + return self.init_mirror_symmetry(key,axis,wall,invert=True) def copy(self,key,key_out,skip_data=False,skip_symmetries=False): '''Copies a field to a new key.'''