def rotate_mask(case): import Masks as masks from math import atan,cos,sin,tan from numpy import deg2rad,zeros import Functions as piv from copy import copy angle = get_mask_angle(case) device,phi,alpha,U,loc = piv.get_case_details(case) rotated_mask = zeros((6,2)) for m,i in zip(masks.Masks[case],range(5)): cmx = m[0] - masks.Masks[case][1][0] cmy = m[1] - masks.Masks[case][1][1] x = cmx*cos(angle) + cmy*sin(angle) y = -cmx*sin(angle) + cmy*cos(angle) rotated_mask[i] = [x,y] rotated_mask[2] = [ 40.*sin(deg2rad(90-float(alpha)-float(phi))), -40.*cos(deg2rad(90-float(alpha)-float(phi))) ] rotated_mask[3] = [ rotated_mask[2][0]-cos(deg2rad(90-float(alpha)-float(phi))), rotated_mask[2][1]-sin(deg2rad(90-float(alpha)-float(phi))), ] rotated_mask[4] = [ rotated_mask[1][0]-cos(deg2rad(90-float(alpha)-float(phi))), rotated_mask[1][1]-sin(deg2rad(90-float(alpha)-float(phi))), ] rotated_mask[5][0] = rotated_mask[0][0] rotated_mask[5][1] = rotated_mask[4][1] - rotated_mask[5][0]*tan(deg2rad(float(alpha)-7)) return rotated_mask
def get_mask_angle(case,to_freestream=True): import Masks as masks from math import atan,cos,sin,tan from numpy import deg2rad,zeros import Functions as piv from copy import copy device,phi,alpha,U,loc = piv.get_case_details(case) if to_freestream: incidence_correction = 0 else: incidence_correction = abs(float(alpha))+abs(float(phi)) angle = -atan( (masks.Masks[case][2][0] - masks.Masks[case][1][0]) \ / (masks.Masks[case][2][1] - masks.Masks[case][1][1]) )\ + deg2rad(90+incidence_correction) return angle