##Diode(sde)解析
(define Wsi @SiWidth@) ;Width of Silicon Region
(define Hsi 1.0) ;Height of Silicon Region
(define Wpo 0.5) ; Width of Poly Region
(define Hpo 0.5) ; Height of Poly Region
(define SiPoOver (* 0.5 Hpo)) ;Overlap of both regions
(define Nd 1e20) ; Poly doping level
(define Na 1e18) ; Silicon doping level
(define NumberOfPointsXsi 8) ; Number of grid points in Silicon
(define NumberOfPointsYsi 8)
(define NumberOfPointsXpo 8) ;Number of grid points in Silicon
(define NumberOfPointsYpo 8)
(sdegeo:create-rectangle (position (* -0.5 Wsi) 0.0 0.0) (position ( * 0.5 Wsi) Hsi 0.0 ) "Silicon" "R.Silicon")
(sdegeo:set-default-boolean "ABA")
(define Ypo1 SiPoOver)
(define Ypo2 ( - Ypo1 Hpo))
(sdegeo:create-rectangle (position ( * -0.5 Wpo) Ypo1 0.0 ) (position ( * 0.5 Wpo) Ypo2 0.0) "PolySi" "R.Poly" )
(sdegeo:set-contact (find-edge-id(position 0.0 Ypo2 0.0)) "Top" )
(sdegeo:set-contact (find-edge-id(position 0.0 Hsi 0.0)) "Bot" )
(sdedr:define-constant-profile "PolyProf" "ArsenicActiveConcentration" Nd)
(sdedr:define-constant-profile-material "PolyDop" "PolyProf" "PolySi")
(sdedr:define-constant-profile "SiProf" "BoronActiveConcentration" Na)
(sdedr:define-constant-profile-material "SiDop" "SiProf" "Silicon")
(sdedr:define-refinement-size "SiRef" (/ Wsi NumberOfPointsXpo) (/ Hsi NumberOfPointsYpo) 1.0 (/ Wsi (* 2 NumberOfPointsXpo)) (/ Hsi (* 2 NumberOfPointsYpo)) 0.5)
(sdedr:define-refinement-material "SiRef" "SiRef" "Silicon" )
(sdedr:define-refinement-size "PolyRef" (/ Wpo NumberOfPointsXpo) (/ Hpo NumberofPointsYpo) 1.0 (/Wpo (* 2 NumberOfPointsXpo)) (/ Hpo (* 2 NumberOfPointsYpo)) 0.5 )
(sdedr:define-refinement-function "PolyRef" "MaxLenInt" "PolySi" "Silicon" 0.005 1.4)
(sdedr:define-refinement-material "PolyRef" "PolyRef" "PolySi")
;Meshing the device
(sde:build-mesh "n@node@")
sdegeo:create-rectangle
创建2D矩形区域
(sdegeo:create-rectangle v1 v2 material-name region-name)
- This Scheme extension 向模型添加一个2D矩形。通过指定两个相对的角点来定义矩形。
- 如果生成的矩形与现有区域重叠,新插入区域和重叠区域的拓扑决定于布尔公式。
- “material-name”设置为区域材质;"region-name"设置为区域名称。
sdegeo:set-default-boolean
设置默认布尔行为
(sdegeo:set-default-boolean boolean-value)
- 参数布尔值可以是以下任意预定义值(默认行为决定如何处置重叠区域)
- “AB”: 新创建的区域将自动与所有现有重叠区域合并(合并).合并的区域将从新区域继承DATEX材质(和区域名称)
- “ABA”: 减去已有区域中的重叠区域
- “BAB”:从新创建的区域中减去所有现有区域
- “ABiA”:类似于"ABA"行为,只是重叠是单独的区域(DATEX材质继承自新区域)
find-edge-id
查找实体(entity)边的编号
(find-edge-id position body)
- This Scheme extension 将遍历所有已定义实体的边列表(实体:边(获取实体列表)),并返回包含指定位置的所有边的ACIS实体ID.该位置可以是边的端点位置,也可以是内部位置
- 提供了用于选择实体的附加过滤器
find-face-id
查找实体(entity)面的编号
(find-face-id position | gvector)
- This Scheme extension 将遍历所有已定义实体的面列表(实体:面(获取实体列表)),并返回包含指定位置的所有面的ACIS实体ID.该位置可以是位于边界边缘上的位置或内部位置。或者,输入参数是gvector(向量式运算处理),在这种情况下,返回具有指定面法线的所有平面
sdedr:define-constant-profile
在网格命令文件中创建恒定掺杂配置文件的定义
sdedr:define-constant-profile definition-name species concentration)
sdedr:define-constant-profile-material
基于网格命令文件中的材质(material)创建恒定的掺杂轮廓放置(placement)
(sdedr:define-constant-profile-material placement-name definition-name material [decay-length ["Gauss"]] [replace]}
sdedr:define-refinement-function
将优化函数添加到指定的细化框
(sdedr:define-refinement-function definition-name function-name {“MaxLenInt” …)
- MaxLengthInterface( abb. MaxLenInt):此函数在界面处产生细化
- RefineFunction = MaxLengthInterface(Interface(“Material1”,“Material2”),Value=value, Factor = Value, DoubleSide, UseRegionName)
- RefineFunction 可以在同一个Refinement部分中对不同的接口重复
- Interface语句中指定的材质必须是有效的DATEX材质。第一种材质表示执行细化的界面一侧。要将优化用于接口的两侧,需要指定DoubleSide选项
- 默认情况下,界面由一对材料定义。但是,如果使用UseRegionNames选项,界面被解释为区域性规范
- 材料"All”可用于指定提供材料的所有界面,空字符串可用于指定外部界面。此外,界面规范中的第二个参数可以是由字符串"Contact"或contact name(如果指定了UseRegionNames)指定的contact. - 如果未指定界面,则不会细化任何界面。如果未指定"值",则默认为1.Factor参数必须是大于或等于1的数字。如果未定义“因子(factor)”,则默认为一个巨大的数字,因此只生成一个层。
sdedr:define-refinement-material
将优化函数添加到指定的优化
Syntax
(sdedr:define-refinement-material placement-name definition-name material-name)