From 138b150125196ed679e4e1ccf204ea6ed2780411 Mon Sep 17 00:00:00 2001
From: Guillaume Demesy <guillaume.demesy@fresnel.fr>
Date: Mon, 17 Jun 2013 15:09:19 +0000
Subject: [PATCH] provided example of use for setPhysicalNumToEntitiesInBox,
 setPeriodicAllFaces and salomeconnect

---
 benchmarks/python/auto_periodic_physical.py | 47 +++++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100755 benchmarks/python/auto_periodic_physical.py

diff --git a/benchmarks/python/auto_periodic_physical.py b/benchmarks/python/auto_periodic_physical.py
new file mode 100755
index 0000000000..a20d8e6d70
--- /dev/null
+++ b/benchmarks/python/auto_periodic_physical.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python
+from gmshpy import *
+import numpy as np
+
+GmshSetOption('Mesh', 'CharacteristicLengthFactor', 10.)
+GmshSetOption('Mesh', 'Algorithm', 1.0)
+GmshSetOption('Mesh', 'Algorithm3D',4.0)
+
+myModel = GModel()
+
+R = np.pi
+
+myModel.addBlock([-R,-R,-R],[R,R,R])
+myModel.addSphere(0,0,0,R/4)
+myModel.addBlock([-R,-R,R],[R,R,2*R])
+myModel.addBlock([-R,-R,2*R],[R,R,4*R])
+myModel.addBlock([-R,-R,4*R],[R,R,8*R])
+myModel.addBlock([-R,-R,8*R],[R,R,12*R])
+myModel.addBlock([-R,-R,-2*R],[R,R,-R])
+
+### connect, geomanalyse with salome partition splitter
+myModel.salomeconnect()
+
+### auto copy mesh from faces translated of a vector given vector T
+### arg1: translation vector from master to slave
+myModel.setPeriodicAllFaces([0.,2*R,0.])
+myModel.setPeriodicAllFaces([2*R,0,0.])
+
+### assign Physical number to entities in a box with setPhysicalNumToEntitiesInBox
+### arg1: (O:vertex, 1:edge, 2:face, 3:volume)
+### arg2: physical number you want
+### arg3: bounding box (2 diagonal corners)
+myModel.setPhysicalNumToEntitiesInBox(2,11,[-R-R/4,-R-R/4,-2*R-R/4],[R+R/4,-R+R/4,12*R+R/4])
+myModel.setPhysicalNumToEntitiesInBox(2,12,[-R-R/4,R-R/4,-2*R-R/4],[R+R/4,R+R/4,12*R+R/4])
+myModel.setPhysicalNumToEntitiesInBox(2,21,[-R-R/4,-R-R/4,-2*R-R/4],[-R+R/4,R+R/4,12*R+R/4])
+myModel.setPhysicalNumToEntitiesInBox(2,22,[R-R/4,-R-R/4,-2*R-R/4],[R+R/4,R+R/4,12*R+R/4])
+
+print myModel.noPhysicalGroups()
+
+myModel.mesh(2)
+
+myModel.setAsCurrent()
+myModel.setVisibility(1)
+FlGui.instance()
+FlGui.run()
+FlGui.close()
+
-- 
GitLab