diff --git a/Lbracket/topo.py b/Lbracket/topo.py index 1456f3232e29a62bc980c0f3d60c95b8e1adff88..a75d9f877e1a52e51482065e03179c3e31c51028 100644 --- a/Lbracket/topo.py +++ b/Lbracket/topo.py @@ -55,7 +55,7 @@ c.runSubClient('myGmsh', mygmsh + '-2') # initializes the density 'xe' field # This is done with a GetDP problem named 'DensityField' # that solves no FE equations -# but only fills up the function space with an initial value. +# but only fills up the function space with an initial value. c.runSubClient('myGetDP', mygetdp + '-solve DensityField') # read in the 'xe' field from GetDP into a python variable 'd' @@ -68,11 +68,11 @@ elements = np.array(d[1::2]) # [ele1, ..., eleN ] #x = np.array(d[2::2]) # [xe1, ..., xeN] x = 0.5*np.ones(numElements) -print 'number of elements in topology optimization:', numElements +print('number of elements in topology optimization:', numElements) # This function serializes the python variables 'ele' and 'var' into # an ElementTable variable [N, ele1, xe1, ..., eleN, xeN] -# and set it as a Onelab parameter named `var' +# and set it as a Onelab parameter named `var' def setElementTable(var, ele, val): data = np.ravel(np.column_stack((ele, val))) data = np.insert(data, 0, numElements) @@ -175,11 +175,11 @@ while change > maxChange and it <= maxIter and c.getString('topo/Action') != 'st objective *= fscale grad_objective *= fscale - print '*'*50 - print 'iteration: ', it - print 'change: ', change - print 'objective:', objective - print 'constraints:', constraints + print('*'*50) + print('iteration: ', it) + print('change: ', change) + print('objective:', objective) + print('constraints:', constraints) c.sendInfo('Optimization: it. {}, obj. {}, constr. {}, change {}'.format(it,objective,constraints[0], change)) # call MMA and update the current point diff --git a/Team25/shape.pro b/Team25/shape.pro index 61aaf8d19be581734184e53f4e07724afdfacd5e..13fbc21b674b382dfda00eba34a41dfbc3296cd1 100644 --- a/Team25/shape.pro +++ b/Team25/shape.pro @@ -332,8 +332,8 @@ PostOperation { Format SimpleTable, File StrCat[Opt_ResDir,"bMag.txt"]]; Print[az, OnElementsOf Domain, Format NodeTable, File "", SendToServer StrCat[Opt_ResDir_Onelab,"a"], Hidden 1]; - //Print[bMag, OnElementsOf Domain, File StrCat[Opt_ResDir,"az.pos"]]; - //Print[az, OnElementsOf Domain, File StrCat[Opt_ResDir,"az.pos"]]; + Print[bMag, OnElementsOf Domain, File StrCat[Opt_ResDir,"az.pos"]]; + Print[az, OnElementsOf Domain, File StrCat[Opt_ResDir,"az.pos"]]; Print[bTarget, OnGrid {(9.5e-3+2.25e-3)*Cos[$A],(9.5e-3+2.25e-3)*Sin[$A],0}{0:50*Pi/180:5*Pi/180,0,0}, File StrCat[Opt_ResDir,"bTarget.pos"]]; Print[b, OnGrid {(9.5e-3+2.25e-3)*Cos[$A],(9.5e-3+2.25e-3)*Sin[$A],0}{0:50*Pi/180:5*Pi/180,0,0}, diff --git a/Team25/shape.py b/Team25/shape.py index 05f5f23291018be5b790935037acc32fb9a108fa..60a61afcb2109f0ea622e6e06796c1fe43d4e967 100644 --- a/Team25/shape.py +++ b/Team25/shape.py @@ -1,7 +1,7 @@ -# Open this file with Gmsh (interactively with File->Open->penning.py, or on the -# command line with 'gmsh penning.py') +# Open this file with Gmsh (interactively with File->Open->shape.py, or on the +# command line with 'gmsh shape.py') # -from shutil import copyfile + import numpy as np import optlab import onelab @@ -39,8 +39,7 @@ c.openProject(file_geo) # dry getdp run (without -solve or -pos option) to get model parameters in the GUI c.runSubClient('myGetDP', mygetdp) -# define now optimization parameters -# some of them as Onelab parameter, to be editable in the GUI +# define optimization parameters as Onelab parameter (editable in the GUI) maxIter = c.defineNumber('Optimization/00Max iterations', value=100) maxChange = c.defineNumber('Optimization/01Max change', value=1e-5) @@ -163,12 +162,12 @@ while it <= maxIter and c.getString('shape/Action') != 'stop': objective *= fscale grad_objective *= fscale - print '*'*50 - print 'iteration: ', it - print 'change: ', change - print 'current point:', xFromMMA - print 'objective:', objective - print 'constraints:', constraints + print('*'*50) + print('iteration: ', it) + print('change: ', change) + print('current point:', xFromMMA) + print('objective:', objective) + print('constraints:', constraints) c.sendInfo('Optimization: it. {}, obj. {}, constr. {}'.format(it,objective,constraints[0])) # call MMA and update the current point