indexList = pts[:, :, :].flatten() PS = geo_utils.PointSelect("list", indexList) DVGeo.addGeoDVLocal("shapey", lower=-1.0, upper=1.0, axis="y", scale=1.0, pointSelect=PS) DVGeo.addGeoDVGlobal("alpha", [alpha0], alpha, lower=-10.0, upper=10.0, scale=1.0) # DAFoam DASolver = PYDAFOAM(options=aeroOptions, comm=gcomm) DASolver.setDVGeo(DVGeo) mesh = USMesh(options=meshOptions, comm=gcomm) DASolver.addFamilyGroup(DASolver.getOption("designSurfaceFamily"), DASolver.getOption("designSurfaces")) DASolver.printFamilyList() DASolver.setMesh(mesh) # set evalFuncs evalFuncs = [] DASolver.setEvalFuncs(evalFuncs) # DVCon DVCon = DVConstraints() DVCon.setDVGeo(DVGeo) [p0, v1, v2] = DASolver.getTriangulatedMeshSurface( groupName=DASolver.getOption("designSurfaceFamily"))
} # Actuator DVGeo.addGeoDVGlobal( "actuator", value=[-0.5, 0.0, 0.05, 0.01, 0.4, 10.0, 0.8, 1.0, 0.5], func=actuator, lower=-100.0, upper=100.0, scale=1.0, ) daOptions["designVar"]["actuator"] = { "actuatorName": "disk1", "designVarType": "ACTD" } # DAFoam DASolver = PYDAFOAM(options=daOptions, comm=gcomm) DASolver.setDVGeo(DVGeo) mesh = USMesh(options=meshOptions, comm=gcomm) DASolver.addFamilyGroup(DASolver.getOption("designSurfaceFamily"), DASolver.getOption("designSurfaces")) DASolver.printFamilyList() DASolver.setMesh(mesh) # set evalFuncs evalFuncs = [] DASolver.setEvalFuncs(evalFuncs) # DVCon DVCon = DVConstraints() DVCon.setDVGeo(DVGeo) [p0, v1, v2] = DASolver.getTriangulatedMeshSurface( groupName=DASolver.getOption("designSurfaceFamily"))
# Design variable setup # ============================================================================= FFDFile = "./FFD/localFFD.xyz" DVGeo = DVGeometry(FFDFile) # select points pts = DVGeo.getLocalIndex(0) indexList = pts[1:4, :, :].flatten() PS = geo_utils.PointSelect("list", indexList) DVGeo.addGeoDVLocal("shapey", lower=-1.0, upper=1.0, axis="y", scale=1.0, pointSelect=PS) DVGeo.addGeoDVLocal("shapez", lower=-1.0, upper=1.0, axis="z", scale=1.0, pointSelect=PS) # ============================================================================= # DAFoam initialization # ============================================================================= DASolver = PYDAFOAM(options=daOptions, comm=gcomm) DASolver.setDVGeo(DVGeo) mesh = USMesh(options=meshOptions, comm=gcomm) DASolver.addFamilyGroup(DASolver.getOption("designSurfaceFamily"), DASolver.getOption("designSurfaces")) DASolver.printFamilyList() DASolver.setMesh(mesh) evalFuncs = [] DASolver.setEvalFuncs(evalFuncs) # ============================================================================= # Constraint setup # ============================================================================= DVCon = DVConstraints() DVCon.setDVGeo(DVGeo) DVCon.setSurface(DASolver.getTriangulatedMeshSurface(groupName=DASolver.getOption("designSurfaceFamily")))
value=beta0, func=betaSA, lower=1e-5, upper=10.0, scale=1.0) alphaPorosity0 = np.zeros(nCells, dtype="d") DVGeo.addGeoDVGlobal("alphaPorosity", value=alphaPorosity0, func=alphaPorosity, lower=0, upper=100.0, scale=1.0) # DAFoam DASolver = PYDAFOAM(options=aeroOptions, comm=gcomm) DASolver.setDVGeo(DVGeo) mesh = USMesh(options=meshOptions, comm=gcomm) DASolver.addFamilyGroup(DASolver.getOption("designSurfaceFamily"), DASolver.getOption("designSurfaces")) DASolver.printFamilyList() DASolver.setMesh(mesh) # set evalFuncs evalFuncs = [] DASolver.setEvalFuncs(evalFuncs) # DVCon DVCon = DVConstraints() DVCon.setDVGeo(DVGeo) [p0, v1, v2] = DASolver.getTriangulatedMeshSurface( groupName=DASolver.getOption("designSurfaceFamily"))