def _create_script(self,outputFile,caseFilePath,templateFile=None,batch=True): paths = CFD_paths() if templateFile==None: templateFile = paths.template_pw2 script = ScriptFile(templateFile,outputFile) script.write('# Airfoil Cmesh script for Pointwise V16.03R2\n#generated by Maxim Tyan\n') script.write_template_lines(arange(0,8)) for pt in self.af.upPts: script.write('$_TMP(PW_1) addPoint {%.6f %.6f 0}\n'%(pt[0],pt[1])) script.write_template_lines(arange(10,23)) for pt in self.af.loPts[1:-1]: script.write('$_TMP(PW_2) addPoint {%.6f %.6f 0}\n'%(pt[0],pt[1])) script.write_template_lines(arange(24,45)) script.write('$_TMP(PW_4) addPoint [pwu::Vector3 add [$_CN(1) getPosition -arc 1] {%.4f 0 0}]\n'%self._xfarfield) script.write_template_lines(arange(46,58)) script.write('$_TMP(PW_5) addPoint [pwu::Vector3 add [$_CN(3) getPosition -arc 1] {0 %.4f 0}]\n'%self._yfarfield) script.write_template_lines(arange(59,72)) script.write('$_TMP(PW_6) addPoint [pwu::Vector3 add [$_CN(4) getPosition -arc 1] {-%.4f 0 0}]\n'%self._xfarfield) script.write_template_lines(arange(73,85)) script.write('$_TMP(PW_7) addPoint [pwu::Vector3 add [$_CN(3) getPosition -arc 1] {0 -%.4f 0}]\n'%self._yfarfield) script.write_template_lines(arange(86,99)) script.write('$_TMP(PW_8) addPoint [pwu::Vector3 add [$_CN(5) getPosition -arc 1] {-%.4f 0 0}]\n'%self._xfarfield) script.write_template_lines(arange(100,137)) script.write('$_TMP(PW_12) do setDimension %d\n'%self._xfarfieldPts) script.write_template_lines(arange(138,144)) script.write('$_TMP(PW_13) do setDimension %d\n'%self._yfarfieldPts) script.write_template_lines(arange(145,151)) script.write('$_TMP(PW_14) do setDimension %d\n'%self._airfoilPts) script.write_template_lines(arange(152,159)) script.write('$_TMP(PW_15) do setDimension %d\n'%(2*self._airfoilPts-1)) script.write_template_lines(arange(160,166)) script.write('$_TMP(PW_16) setBeginSpacing %.10f\n'%self._leSpacing) script.write_template_lines(arange(167,169)) script.write('$_TMP(PW_17) setBeginSpacing %.10f\n'%self._leSpacing) script.write_template_lines(arange(170,177)) script.write('$_TMP(PW_18) setEndSpacing %.10f\n'%self._teSpacing) script.write_template_lines(arange(178,180)) script.write('$_TMP(PW_19) setEndSpacing %.10f\n'%self._teSpacing) script.write_template_lines(arange(181,183)) script.write('$_TMP(PW_20) setBeginSpacing %.10f\n'%self._teSpacing) script.write_template_lines(arange(184,191)) script.write('$_TMP(PW_21) setBeginSpacing %.10f\n'%(5.*self._teSpacing)) script.write_template_lines(arange(192,194)) script.write('$_TMP(PW_22) setEndSpacing %.10f\n'%(5.*self._teSpacing)) script.write_template_lines(arange(195,197)) script.write('$_TMP(PW_23) setEndSpacing %.10f\n'%(5.*self._teSpacing)) script.write_template_lines(arange(198,205)) script.write('$_TMP(PW_24) setBeginSpacing %.10f\n'%self._frontFarfieldSpacing) script.write_template_lines(arange(206,208)) script.write('$_TMP(PW_25) setEndSpacing %.10f\n'%self._frontFarfieldSpacing) script.write_template_lines(arange(209,216)) script.write('$_TMP(PW_26) setBeginSpacing %.10f\n'%self._wallSpacing) script.write_template_lines(arange(217,219)) script.write('$_TMP(PW_27) setBeginSpacing %.10f\n'%self._wallSpacing) script.write_template_lines(arange(220,227)) script.write('$_TMP(PW_28) setEndSpacing %.10f\n'%self._farfieldSpacing) script.write_template_lines(arange(228,230)) script.write('$_TMP(PW_29) setBeginSpacing %.10f\n'%self._farfieldSpacing) script.write_template_lines(arange(231,233)) script.write('$_TMP(PW_30) setEndSpacing %.10f\n'%self._farfieldSpacing) script.write_template_lines(arange(234,236)) script.write('$_TMP(PW_31) setBeginSpacing %.10f\n'%self._farfieldSpacing) script.write_template_lines(arange(237,244)) script.write('$_TMP(PW_32) setEndSpacing %.10f\n'%self._farfieldSpacing) script.write_template_lines(arange(245,308)) script.write('pw::Application export [list $_DM(1)] {%s}\n'%caseFilePath) if batch: script.write('pw::Application exit 0') script.close()
def create_c_grid(airfoil,param,glfFilePath,caseFilePath,batch=True): # modify geometry ptsUp = geometry.rotate_2d(airfoil.ptsUp,[0.25,0.0],param.alpha) ptsLo = geometry.rotate_2d(airfoil.ptsLo,[0.25,0.0],param.alpha) param._calc_points([ptsUp[-1,1],ptsLo[-1,1]]) # generate connectors script = ScriptFile('.//templates//af_cmesh1.glf',glfFilePath) script.write('# Airfoil Cmesh script for Pointwise V17.3R2\n#generated by Maxim Tyan\n') script.write_template_lines(arange(0,8)) for pt in ptsUp: script.write('$_TMP(PW_1) addPoint {%.6f %.6f 0}\n'%(pt[0],pt[1])) script.write_template_lines(arange(10,23)) for pt in ptsLo: script.write('$_TMP(PW_2) addPoint {%.6f %.6f 0}\n'%(pt[0],pt[1])) script.write_template_lines(arange(24,51)) script.write('$_TMP(PW_2) addPoint {%.6f %.6f 0}\n'%(param.ptsX[0],param.ptsY[0])) script.write_template_lines(arange(52,65)) script.write('$_TMP(PW_3) addPoint {%.6f %.6f 0}\n'%(param.ptsX[1],param.ptsY[1])) script.write_template_lines(arange(66,93)) script.write('$_TMP(PW_5) addPoint {%.6f %.6f 0}\n'%(param.ptsX[2],param.ptsY[2])) script.write_template_lines(arange(94,107)) script.write('$_TMP(PW_6) addPoint {%.6f %.6f 0}\n'%(param.ptsX[3],param.ptsY[3])) script.write_template_lines(arange(109,121)) script.write('$_TMP(PW_7) addPoint {%.6f %.6f 0}\n'%(param.ptsX[4],param.ptsY[4])) script.write_template_lines(arange(123,135)) script.write('$_TMP(PW_8) addPoint {%.6f %.6f 0}\n'%(param.ptsX[5],param.ptsY[5])) script.write_template_lines(arange(136,172)) # set connector dimmensions script.write('$_TMP(PW_1) do setDimension %d\n'%param.nWall) script.write_template_lines(arange(173,181)) script.write('$_TMP(PW_2) do setDimension %d\n'%param.nTE) script.write_template_lines(arange(181,192)) script.write('$_TMP(PW_3) do setDimension %d\n'%param.nx) script.write_template_lines(arange(193,201)) script.write('$_TMP(PW_5) do setDimension %d\n'%param.ny) script.write_template_lines(arange(202,209)) nFront = 2*param.nWall-1 script.write('$_TMP(PW_6) do setDimension %d\n'%nFront) script.write_template_lines(arange(210,226)) # set spacings script.write('$_TMP(PW_1) setBeginSpacing %.10f\n'%param.dsLE) script.write_template_lines(arange(227,229)) script.write('$_TMP(PW_2) setBeginSpacing %.10f\n'%param.dsLE) script.write_template_lines(arange(230,239)) script.write('$_TMP(PW_3) setEndSpacing %.10f\n'%param.dsTE) script.write_template_lines(arange(240,242)) script.write('$_TMP(PW_4) setEndSpacing %.10f\n'%param.dsTE) script.write_template_lines(arange(243,245)) script.write('$_TMP(PW_5) setBeginSpacing %.10f\n'%(5.0*param.dsWall)) script.write_template_lines(arange(246,248)) script.write('$_TMP(PW_6) setBeginSpacing %.10f\n'%(5.0*param.dsWall)) script.write_template_lines(arange(249,258)) script.write('$_TMP(PW_7) setBeginSpacing %.10f\n'%param.dsWall) script.write_template_lines(arange(259,261)) script.write('$_TMP(PW_8) setBeginSpacing %.10f\n'%param.dsWall) script.write_template_lines(arange(262,275)) script.write('$_TMP(PW_1) setEndSpacing %10f\n'%param.dsFF) script.write_template_lines(arange(276,278)) script.write('$_TMP(PW_2) setEndSpacing %10f\n'%param.dsFF) script.write_template_lines(arange(279,281)) script.write('$_TMP(PW_3) setEndSpacing %10f\n'%param.dsFF) script.write_template_lines(arange(282,284)) script.write('$_TMP(PW_4) setEndSpacing %10f\n'%param.dsFF) script.write_template_lines(arange(285,287)) script.write('$_TMP(PW_5) setBeginSpacing %10f\n'%param.dsFF) script.write_template_lines(arange(288,290)) script.write('$_TMP(PW_6) setBeginSpacing %10f\n'%param.dsFF) script.write_template_lines(arange(291,299)) script.write('$_TMP(PW_9) setEndSpacing %.10f\n'%(10*param.dsTE)) script.write_template_lines(arange(300,302)) script.write('$_TMP(PW_10) setEndSpacing %.10f\n'%(10*param.dsTE)) script.write_template_lines(arange(303,305)) script.write('$_TMP(PW_11) setBeginSpacing %.10f\n'%(10*param.dsTE)) script.write_template_lines(arange(306,308)) script.write('$_TMP(PW_12) setEndSpacing %.10f\n'%(10*param.dsTE)) script.write_template_lines(arange(309,408)) # set bc and export script.write('$_TMP(mode_4) initialize -type CAE {%s}\n'%caseFilePath) script.write_template_lines(arange(409,415)) if batch: script.write('pw::Application exit 0') # run script script.close() system('\"%s\"'%glfFilePath)
def _create_script(self,outputFile,caseFilePath,templateFile=None,batch=True): paths = CFD_paths() if templateFile==None: templateFile = paths.template_pw3 script = ScriptFile(templateFile,outputFile) script.write('# Airfoil Omesh script for Pointwise V16.03R2\n#generated by Maxim Tyan\n') script.write_template_lines(arange(0,8)) for pt in self.af.ptsUp: script.write('$_TMP(PW_1) addPoint {%.6f %.6f 0}\n'%(pt[0],pt[1])) script.write_template_lines(arange(10,23)) for pt in self.af.ptsLo[1:-1]: script.write('$_TMP(PW_2) addPoint {%.6f %.6f 0}\n'%(pt[0],pt[1])) script.write_template_lines(arange(24,38)) script.write('$_TMP(PW_3) do setDimension %d\n'%self._airfoilPts) script.write_template_lines(arange(39,45)) script.write('$_TMP(PW_4) setBeginSpacing %.8f\n'%self._dsLE) script.write_template_lines(arange(46,48)) script.write('$_TMP(PW_5) setBeginSpacing %.8f\n'%self._dsLE) script.write_template_lines(arange(49,56)) script.write('$_TMP(PW_6) setEndSpacing %.8f\n'%self._dsTE) script.write_template_lines(arange(57,59)) script.write('$_TMP(PW_7) setEndSpacing %.8f\n'%self._dsTE) script.write_template_lines(arange(60,76)) script.write('$_DM(1) setExtrusionSolverAttribute NormalInitialStepSize %.8f\n'%self._dsWall) script.write('$_DM(1) setExtrusionSolverAttribute SpacingGrowthFactor %.8f\n'%self._growthRate) script.write('$_TMP(mode_6) run -keepFailingStep %d\n'%self._interiorPts) script.write_template_lines(arange(78,111)) script.write('pw::Application export [list $_DM(1)] {%s}\n'%caseFilePath) if batch: script.write('pw::Application exit 0') script.close()