[转]region命令
region命令用于定义一个空间几何区域。
使用语法:
region ID style args keyword arg ...
- ID = 待定义区域的ID
- style = delete / block / cone / cylinder / plane / prism / sphere / union / intersect
delete = no args block args = xlo xhi ylo yhi zlo zhi xlo,xhi,ylo,yhi,zlo,zhi = 各个维度上的范围值 cone args = dim c1 c2 radlo radhi lo hi dim = x or y or z = 圆锥台轴线方向 c1,c2 = 圆锥台轴线在另外两个维度上的坐标值 radlo,radhi = 圆锥台上下底面的半径 lo,hi = 圆锥台轴线方向的范围值 cylinder args = dim c1 c2 radius lo hi dim = x or y or z = 圆柱体轴线方向 c1,c2 = 圆柱体轴线在两位两个维度上的坐标值 radius = 圆柱体半径,可以使用变量 lo,hi = 圆柱体轴线方向的范围值 plane args = px py pz nx ny nz px,py,pz = 平面上一个点的坐标 nx,ny,nz = 平面法矢坐标 prism args = xlo xhi ylo yhi zlo zhi xy xz yz xlo,xhi,ylo,yhi,zlo,zhi = 平行六面体在各个维度上的范围值 xy = y方向在x方向的倾斜值 xz = z方向在x方向的倾斜值 yz = z方向在y方向的倾斜值 sphere args = x y z radius x,y,z = 球心坐标 radius = 球体半径,可以使用变量 union args = N reg-ID1 reg-ID2 ... N = 要进行并集操作的区域的数目,必须大于等于2 reg-ID1,reg-ID2, ... = 要进行并集操作的区域的ID intersect args = N reg-ID1 reg-ID2 ... N = 要进行交集操作的区域的数目,必须大于等于2 reg-ID1,reg-ID2, ... = 要进行交集操作的区域的ID
- keyword = side or units or move or rotate
side value = in or out in = 指定几何体内侧作为区域 out = 指定几何体外侧作为区域 units value = lattice or box lattice = 以晶格距离作为几何距离单位 box = 以模拟盒子作为几何距离单位 move args = v_x v_y v_z v_x,v_y,v_z = x, y, z 方向的位移量,equal类型的变量 rotate args = v_theta Px Py Pz Rx Ry Rz v_theta = 旋转角,equal类型的变量,弧度单位 Px,Py,Pz = 旋转操作的中心点 Rx,Ry,Rz = 旋转轴矢量
使用举例
region 1 block -3.0 5.0 INF 10.0 INF INF region 2 sphere 0.0 0.0 0.0 5 side out region void cylinder y 2 3 5 -5.0 EDGE units box region 1 prism 0 10 0 10 0 10 2 0 0 region outside union 4 side1 side2 side3 side4 region 2 sphere 0.0 0.0 0.0 5 side out move v_left v_up NULL