renamed set_noslip_bc because this symmetry should (maybe) not be used

This commit is contained in:
Michael Krayer 2021-08-02 10:54:59 +02:00
parent d197683edc
commit 2a779c3a2d
1 changed files with 6 additions and 25 deletions

View File

@ -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.'''