CN110807289B - 基于后验误差估计的集成电路自适应有限元网格细分方法 - Google Patents
基于后验误差估计的集成电路自适应有限元网格细分方法 Download PDFInfo
- Publication number
- CN110807289B CN110807289B CN202010014226.2A CN202010014226A CN110807289B CN 110807289 B CN110807289 B CN 110807289B CN 202010014226 A CN202010014226 A CN 202010014226A CN 110807289 B CN110807289 B CN 110807289B
- Authority
- CN
- China
- Prior art keywords
- grid
- error
- unit
- subdivision
- cells
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供基于后验误差估计的集成电路自适应有限元网格细分方法包括步骤1求解得到网格单元的有限元数值解,在每个网格节点的超收敛单元片内,基于解的梯度G fem 近似恢复更高阶精度的梯度G spr 作为解的梯度的准确值;步骤2计算每个网格单元单元的相对误差和总体误差,判断总体误差指标是否达标,若达标则结束;步骤3迭代算出每个网格单元一次性细分次数;步骤4对网格单元的细分次数进行平滑,使得相邻网格单元的细分次数差别不高于1;步骤5基于网格单元的细分次数直接对每个网格单元细分;步骤6对细分的网格单元进行平滑;步骤7转入步骤1。本发明一次网格单元细分并求解即可获得满足精度要求的解,减少超大规模集成电路电磁场问题的求解时间。
Description
技术领域
本发明涉及有限元网格细分技术领域,特别涉及基于后验误差估计的集成电路自适应有限元网格细分方法。
背景技术
电磁场问题可以通过偏微分方程加上边界条件来描叙,但由于边界条件非常复杂,不可能从微分方程及其边界条件获得精确解,可以通过诸如有限元的数值计算方法来获得近似解,且需要足够密的网格才能获得达到一定精度要求的解。尽管计算机的速度和存储能力在不断提高,但是对于非常复杂的问题,不能无限度的加密网格以追求解的精度,而是需要以尽可能少的网格和尽可能快的求解时间达到给定的精度要求。
为了判断解是否达到给定的精度要求,需要判断近似解的质量,以确保其可靠性。这样,既要保证尽可能少的网格和尽可能快的求解时间,又要使得解有一定的精度,于是产生了一个重要的研究内容就是用尽量少的自由度使获得的解达到给定的精度;在实际超大规模集成电路电磁场分析中,输入的多边形形状非常复杂。一方面,需要尽量减少生成的网格使得计算规模减小,另一方面,由于精度要求,需要减少单元的最大尺寸,这又导致计算规模增大的问题;一般自适应有限元分析是基于计算出来的初始值,通过某种方法估计其误差并确定下一步的细分策略。这种通过初始解来估计其误差的方法称为后验误差估计。对于h-型自适应有限元,其后验误差估计的方法大致可分为两种:基于平衡方程残值法和基于有限元解的后处理法。由于数值计算求解问题的精确解是未知的,因此无论是残值法还是后处理法,都无法直接计算现有解的误差;对于自适应网格细分策略,仍然需要多次网格细分并求解获得满足精度要求的解,对于超大规模集成电路利用有限元法求解电磁场问题时产生的初始网格即达数百万,多次网格细分并求解获得满足精度要求的解将占用大量的时间。
基于上述问题,本发明提供了一种基于后验误差估计的集成电路自适应有限元网格细分方法,能够减少近似解的误差;调整网格细分密度,从而保证以尽量少的网格获得足够高的精度;基于有限元超收敛理论估算网格单元一次性细分次数,并对网格单元一次性细分次数自动作适当的调节以达到所需精度;能够保证一次网格细分并求解即可获得满足精度要求的解。
发明内容
(一)发明目的
为克服上述现有技术存在的至少一种缺陷,本发明提供了一种基于后验误差估计的集成电路自适应有限元网格细分方法,以解决传统自适应有限元细分方法需要多次网格单元细分并求解获得满足精度要求的解的问题,保证一次且尽可能少的网格单元细分并求解即可获得满足精度要求的解,在获得满足精度要求的解的情况下,大大减少了超大规模集成电路电磁场问题求解所需内存和CPU时间。
(二)技术方案
作为本发明的第一方面,本发明公开了一种基于后验误差估计的集成电路自适应有限元网格细分方法,包括以下步骤:
步骤1,求解得到当前网格单元的有限元数值解,在每个网格节点的超收敛单元片内,基于解的梯度G fem 近似恢复更高阶精度的梯度G spr 作为解的梯度的准确值;
步骤2,基于所述解的梯度G fem 和所述更高阶精度的梯度G spr 计算每个所述网格单元的相对误差和总体误差,从而判断出总体误差指标是否达标,若达标,则结束,若未达标,则进行步骤3;
步骤3,根据所述网格单元细分过程中所述总体误差的变化规律,迭代算出每个所述网格单元一次性细分次数;
步骤4,对所述网格单元的所述细分次数进行平滑,使得相邻所述网格单元的所述细分次数差别不高于1,从而确保所述网格单元细分后疏密所述网格单元的自然过渡;
步骤5,基于所述网格单元的所述细分次数直接对每个所述网格单元进行所述细分;
步骤6,对所述细分的所述网格单元进行平滑;
步骤7,转入步骤1。
一种可能的实施方式中,所述超收敛单元片为有限元求解的误差在求解区域的某些部分的收敛速度大于所述求解区域的其它部分的所述收敛速度的单元片。
一种可能的实施方式中,在所述步骤1中,所述网格节点的超收敛单元片定义为:包含该网格节点的所有网格单元形成的所述单元片;若所述网格节点在区域内部,则所述单元片应完全包含该网格节点;若所述网格节点不在所述区域内部而在边界上,则包含该网格节点的所述所有网格单元不完全包含该网格节点,此时认为该网格节点不存在所述超收敛单元片。
一种可能的实施方式中,在所述步骤1中,所述恢复更高阶精度的梯度G spr 的具体步骤为:
步骤1.1,计算每个所述网格单元所述解的梯度G fem ;
步骤1.2,对第i个网格节点,若该网格节点存在所述超收敛单元片,计算该超收敛单元片的x方向最小值x min、最大值x max和y方向最小值y min、最大值y max,若是进行三维有限元网格单元的自适应细分,则还应计算出该超收敛单元片的z方向最小值z min、最大值z max;
步骤1.4,对所述第i个网格节点,若该节点存在所述超收敛单元片,按下式计算其所述更高阶精度的梯度G spr :
其中P为p阶多项式完整展开式,p为单元阶数;
n为该超收敛单元片内所述超收敛点的个数;
若是进行所述三维有限元网格单元的自适应细分,则以上A, b计算公式应为
一种可能的实施方式中,在所述步骤2中,所述计算每个所述网格单元的相对误差:
所述总体误差:
判断所述总体误差指标是否达标:需判断是否满足
一种可能的实施方式中,在所述步骤3中,计算出每个所述网格单元允许的最大误差为:
式中S e 为所述网格单元的面积,S为所有网格单元的面积总和;
则该网格单元不需要细分,否则,若所述网格单元一次细分成N C 个子单元,N R 次细分后所述子单元的误差为
一种可能的实施方式中,在所述步骤3中,所述迭代算出每个所述网格单元一次性细分次数具体包括:
步骤3.1,初始化各所述网格单元的所述细分次数N R 为0;
步骤3.4,对排序后的第i个网格单元,更新其所述细分次数为
N R =N R +1
根据更新的第i个网格单元的相对误差更新其在所有网格单元相对误差中的排序,
步骤3.5,更新i=i+1,若i>网格单元总数,设置i=1;
步骤3.6,转入步骤3.4。
一种可能的实施方式中,在所述步骤4中,具体包括:
步骤4.1,将所述网格单元的所述细分次数按从大到小排序,排序后的所述网格单元记为E,设置所有网格单元的状态为未访问,设置i=1;
步骤4.2,若i=网格单元总数,转入步骤4.8,否则转入步骤4.3;
步骤4.3,对所述网格单元E(i),若该网格单元状态为已访问,设置i=i+1,转入步骤4.2,否则设置该网格单元状态为已访问,将所述网格单元E(i)的所有邻居加入到集合Front;
步骤4.4,若所述集合Front为空集,设置i=i+1,转入步骤4.2,否则执行步骤4.5;
步骤4.5,从所述集合Front中取出第一个网格单元,并将该网格单元从所述集合Front中删除;假设该网格单元在E中排列为j,若N R (j)>N R (i)+1,则清空所述集合Front,设置i=i+1,转入步骤4.2,否则转入步骤4.6;
步骤4.6,设置步骤4.5中取出的所述网格单元j状态为已访问,若N R (j)<N R (i)-1,设置N R (j)= N R (i)-1,设置i=i+1;
步骤4.7,转入步骤4.3;
步骤4.8,对所有网格单元E(i),若其所有邻居网格单元E(j)的所述细分次数N R (j)>=N R (i)+1,设置N R (i)=N R (i)+1。
一种可能的实施方式中,在所述步骤5中,具体包括:
步骤5.1,设置i=1;
步骤5.2,若i=网格单元总数,则结束步骤5,否则进入步骤5.3;
步骤5.3,若N R (i)=0,设置i=i+1,转入步骤5.2,否则进入步骤5.4;
步骤5.4,重复N R (i)次操作:对所述网格单元i的所有网格子单元,在其各边中点插入新的网格节点,按固定的划分方法将所述网格子单元细分为N C 个新的所述子单元,若所述网格子单元为多边形,中点位于所述多边形的边上,该中点插入所述多边形的边,成为所述多边形的顶点;若所述网格子单元为多面体,中点连成的棱边位于所述多面体的面上,该中点连成的棱边插入所述多面体的面,成为所述多面体的棱边;
步骤5.5,对所述网格单元i,若其邻居网格单元j的所述细分次数N R (j)=N R (i)+1,将附着在所述网格单元i,j公共边或公共面上的所述网格单元i的所述网格子单元细分为2个或3个所述子单元,新增的细分网格节点或棱边为所述网格子单元在所述网格单元i,j公共边上的边,或公共面上的面;若该公共边为所述多边形的边,新增的所述细分网格节点同样也插入所述多边形的边,成为所述多边形的顶点;若该公共面为所述多面体的面,新增的所述细分棱边同样也插入所述多面体的面,成为所述多面体的棱边;
步骤5.6,设置i=i+1,转入步骤5.2。
一种可能的实施方式中,在所述步骤6中,具体包括:
步骤6.1,设置位于所述多边形顶点的所述网格节点为不动点,其余所述网格节点为可动点,设置移动距离识别阈值为d eps ;
步骤6.2,设置i=1,设置所述移动距离最大值d max=0;
步骤6.3,设置所述网格节点i的新坐标为所述网格节点i的所述超收敛单元片的重心,若所述网格节点i的所述移动距离大于d max,设置d max等于所述网格节点i的所述移动距离;
步骤6.4,设置i=i+1,若i=网格节点总数,转入步骤6.5,否则转入步骤6.3;
步骤6.5,若d max<d eps ,结束步骤6,否则转入步骤6.2。
(三)有益效果
本发明提供的一种基于后验误差估计的集成电路自适应有限元网格细分方法,利用当前网格单元的有限元数值解梯度的误差在网格单元的某些点处具有超收敛性的性质,由初始解的梯度G fem 在网格节点的超收敛单元片近似恢复更高阶精度的梯度G spr 作为梯度的准确值;基于初始解的梯度G fem 和更高阶精度的梯度G spr 计算每个网格单元的相对误差和总体误差指标;根据网格单元细分时总体误差的变化规律,采用一种动态估算细分过程中总体误差的方法迭代算出每个网格单元一次性细分次数,并对相邻网格单元的细分次数进行平滑确定每个网格单元最终应该细分的次数;基于网格单元的细分次数直接对每个网格单元进行细分并平滑;再次计算总体误差指标判断是否达标。该方法避免了h-收敛实现自适应网格细分收敛速度慢的缺点,同时也避免了基于误差估计的快速自适应网格单元细分产生过多网格子单元导致无法求解的缺点,首次提出根据网格单元细分时总体误差的变化规律,采用一种动态估算细分过程中总体误差的方法迭代计算出每个网格单元一次性细分的次数,使得该技术既能实现仅仅一次自适应细分即可使得总体误差小于目标误差,又能实现细分后总的网格单元数目尽可能的少,从而完美实现多层超大规模集成电路的电磁场分析的快速、准确的计算目标。
本发明提供的一种基于后验误差估计的集成电路自适应有限元网格细分方法,在利用有限元法分析超大规模集成电路的电磁场时,根据计算的中间结果估算的误差来自动细分当前网格单元,选取最佳细分方式,达到用最少自适应网格单元细分次数、用尽量少的自由度使获得的解达到给定精度要求。
附图说明
以下参考附图描述的实施例是示例性的,旨在用于解释和说明本发明,而不能理解为对本发明的保护范围的限制。
图1是本发明提供的一种基于后验误差估计的集成电路自适应有限元网格细分方法的流程示意图。
图2是本发明提供的一种基于后验误差估计的集成电路自适应有限元网格细分方法的局部网格单元中节点的超收敛单元片的示意图。
图3是本发明提供的一种基于后验误差估计的集成电路自适应有限元二维三角形网格细分方法的网格单元细分的结构示意图。
图4是本发明提供的一种基于后验误差估计的集成电路自适应有限元三维四面体网格细分方法的网格单元细分的结构示意图。
图5是本发明提供的一种基于后验误差估计的集成电路自适应有限元三维四面体网格细分方法的过渡单元不完全细分的结构示意图。
图6是本发明提供的一种基于后验误差估计的集成电路自适应有限元网格细分方法的局部网格单元的当前网格示意图。
图7是本发明提供的一种基于后验误差估计的集成电路自适应有限元网格细分方法的局部网格单元的自适应细分示意图。
图8是本发明提供的一种基于后验误差估计的集成电路自适应有限元网格细分方法的局部网格单元的自适应细分平滑示意图。
附图标记
1 四面体
2′ 四面体
2″ 四面体
3 八面体。
具体实施方式
为使本发明实施的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行更加详细的描述。
需要说明的是:在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本发明一部分实施例,而不是全部的实施例,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,均仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。
下面参考图1-7详细描述本发明提供的一种基于后验误差估计的集成电路自适应有限元网格细分方法的第一实施例。如图1-7所示,本实施例提供的基于后验误差估计的集成电路自适应有限元网格细分方法主要包括:步骤1、步骤2、步骤3、步骤4、步骤5、步骤6和步骤7。
步骤1,求解得到当前网格单元的有限元数值解,在每个网格节点的超收敛单元片内,基于解的梯度G fem 近似恢复更高阶精度的梯度G spr 作为解的梯度的准确值。可以基于有限元法解的梯度在网格单元的超收敛点具有超收敛性这一特点,由这个初始解的梯度恢复出一个更高阶误差的梯度,并以此作为准确梯度来估计初始解的误差从而确定细分策略。在此基础上,可以产生一种基于超收敛单元片恢复法(简称SPR)来恢复这个梯度的方法。该方法基于局部最小二乘法,从有限元法解的梯度来恢复一个更高阶的梯度。结果表明,该方法高效且有很强的鲁棒性。
步骤2,基于所述解的梯度G fem 和所述更高阶精度的梯度G spr 计算每个所述网格单元的相对误差和总体误差,从而判断出总体误差指标是否达标,若达标,则结束,若未达标,则进行步骤3。
步骤3,根据所述网格单元细分过程中所述总体误差的变化规律,迭代算出每个所述网格单元一次性细分次数。可以假设误差在计算区域内均匀分布,那么根据网格单元细分过程中总体误差的变化规律,可以采用一种动态估算细分过程中总体误差指标的方法,迭代算出每个网格单元一次性细分次数。
步骤4,对所述网格单元的所述细分次数进行平滑,使得相邻所述网格单元的所述细分次数差别不高于1,从而确保所述网格单元细分后疏密所述网格单元的自然过渡。
步骤5,基于所述网格单元的所述细分次数直接对每个所述网格单元进行所述细分。
步骤6,对所述细分的所述网格单元进行平滑。
步骤7,转入步骤1。
其中,所述超收敛单元片为有限元求解的误差在求解区域的某些部分的收敛速度大于所述求解区域的其它部分的所述收敛速度的单元片,有限元求解的误差在求解区域的某些部分的收敛速度大于所述求解区域的其它部分的所述收敛速度可以称为在这些部分呈现超收敛,所述某些部分可以为某些点,即所述这些部分可以为这些点。
其中,在所述步骤1中,所述网格节点的超收敛单元片定义为:包含该网格节点的所有网格单元形成的所述单元片;若所述网格节点在区域内部,则所述单元片应完全包含该网格节点;若所述网格节点不在所述区域内部而在边界上,则包含该网格节点的所述所有网格单元不完全包含该网格节点,此时认为该网格节点不存在所述超收敛单元片。网格节点的超收敛单元片的定义如下:某个网格节点对应的超收敛单元片为与该网格节点相关联的所有网格单元。如图2所示,以二维为例说明,图中点O的超收敛单元片为阴影部分的三角形。但是,若网格节点在边界上,如点P,单元片将不能完全包含该网格节点,那么就无法用这个网格节点的单元片恢复该网格单元的更高阶梯度。此时,对边界上网格节点的梯度值,可用与之相邻的内部网格节点相应的值来代替。
其中,在所述步骤1中,所述恢复更高阶精度的梯度G spr 的具体步骤为:
步骤1.1,计算每个所述网格单元所述解的梯度G fem ;
步骤1.2,对第i个网格节点,若该网格节点存在所述超收敛单元片,计算该超收敛单元片的x方向最小值x min、最大值x max和y方向最小值y min、最大值y max,若是进行三维有限元网格单元的自适应细分,则还应计算出该超收敛单元片的z方向最小值z min、最大值z max;
步骤1.4,对所述第i个网格节点,若该网格节点存在所述超收敛单元片,按下式计算其所述更高阶精度的梯度G spr :
其中P为p阶多项式完整展开式,p为单元阶数;
n为该超收敛单元片内所述超收敛点的个数。
若是进行所述三维有限元网格单元的自适应细分,则以上A, b计算公式应为
所述更高阶精度的梯度G spr 定义为:基于有限元法解的梯度在网格单元的超收敛点具有超收敛性的性质,由初始解的梯度G fem 通过构造函数极值的方法近似恢复更高阶的梯度G spr ,针对当前网格单元计算的场量在每个网格单元的梯度,可根据有限元在网格单元上形状函数系数及网格单元顶点场量计算出来。
基于网格单元的梯度值在Gauss点超收敛的性质,可利用网格节点的超收敛单元片由初始解的梯度G fem 近似恢复更高阶的梯度G spr ,具体做法是:在每个单元片上,定义
其中P为p阶多项式完整展开式,p为单元阶数,如对于一阶三角形单元,有
其中a为待定系数,定义
对于一阶四面体单元,有
其中n为单元片所有超收敛点的个数;(x i , y i )或(x i , y i , z i )为超收敛点的坐标。以上方程表明,在F(a)取最小值时,在超收敛点处与最为接近,而这里的超收敛点正好是获得更高阶收敛的点。对泛函F(a)取极值,可得
其中
若是进行所述三维有限元网格单元的自适应细分,则以上A, b计算公式应为
若是进行所述三维有限元网格单元的自适应细分,则以上公式应改写为
其中,因为精确解未知,所以误差估计以恢复的更高阶梯度为标准。在所述步骤2中,所述计算每个所述网格单元的相对误差:
所述总体误差:
判断所述总体误差指标是否达标:需判断是否满足
其中,在所述步骤3中,计算出每个所述网格单元允许的最大误差为:
式中S e 为所述网格单元的面积,S为所有网格单元的面积总和。
则该网格单元不需要细分,否则,若所述网格单元一次细分成N C 个子单元,根据误差在计算区域内均匀分布的假设,N R 次细分后所述子单元的误差为
以上基于超收敛单元片恢复法解决了数值求解误差估计问题,但对于自适应网格单元细分策略,仍然需要多次网格细分并求解获得满足精度要求的解,对于超大规模集成电路,利用有限元法求解电磁场问题时产生的初始网格单元即达数百万,多次网格单元细分并求解获得满足精度要求的解将占用大量的时间,为解决这一问题,本专利提出的方法能保证仅仅一次网格单元细分并求解即可获得满足精度要求的解,同时,细分后总的网格单元数量也是合理的。
误差在计算区域内均匀分布可以是指在理想情况下,解与真值的误差在计算区域内是均匀分布的,反之,若误差在计算区域内不是均匀分布的,可以认为这样的解不合理。特殊情况下,若解与真值相同,计算区域内误差处处为0,在这样的假设情况下,可以使用上述步骤3计算出每个所述网格单元允许的最大误差,总体误差变为
如果有M个所述网格单元需要细分,则总体误差变为
其中,在所述步骤3中,所述迭代算出每个所述网格单元一次性细分次数具体包括:
步骤3.1,初始化各所述网格单元的所述细分次数N R 为0;
步骤3.4,对排序后的第i个网格单元,更新其所述细分次数为
N R =N R +1
根据更新的第i个网格单元的相对误差更新其在所有网格单元相对误差中的排序,
步骤3.5,更新i=i+1,若i>网格单元总数,设置i=1;
步骤3.6,转入步骤3.4。
通常,针对超大规模集成电路进行分析时,过孔附近计算出来的场强变化大,需要更多的细分次数,因此基于以上步骤3计算的细分次数不光滑,需要对网格单元的细分次数进行平滑操作。
其中,在所述步骤4中,具体包括:
步骤4.1,将所述网格单元的所述细分次数按从大到小排序,排序后的所述网格单元记为E,设置所有网格单元的状态为未访问,设置i=1;
步骤4.2,若i=网格单元总数,转入步骤4.8,否则转入步骤4.3;
步骤4.3,对所述网格单元E(i),若该网格单元状态为已访问,设置i=i+1,转入步骤4.2,否则设置该网格单元状态为已访问,将所述网格单元E(i)的所有邻居加入到集合Front;
步骤4.4,若所述集合Front为空集,设置i=i+1,转入步骤4.2,否则执行步骤4.5;
步骤4.5,从所述集合Front中取出第一个网格单元,并将该网格单元从所述集合Front中删除;假设该网格单元在E中排列为j,若N R (j)>N R (i)+1,则清空所述集合Front,设置i=i+1,转入步骤4.2,否则转入步骤4.6;
步骤4.6,设置步骤4.5中取出的所述网格单元j状态为已访问,若N R (j)<N R (i)-1,设置N R (j)= N R (i)-1,设置i=i+1;
步骤4.7,转入步骤4.3;
步骤4.8,对所有网格单元E(i),若其所有邻居网格单元E(j)的所述细分次数N R (j)>=N R (i)+1,设置N R (i)=N R (i)+1。
对网格单元的细分次数进行平滑后的细分更为合理,有利于后续网格单元细分的实施,同时也确保了这样的细分次数有更高的计算精度。
其中,在所述步骤5中,具体包括:
步骤5.1,设置i=1;
步骤5.2,若i=网格单元总数,则结束步骤5,否则进入步骤5.3;
步骤5.3,若N R (i)=0,设置i=i+1,转入步骤5.2,否则进入步骤5.4;
步骤5.4,重复N R (i)次操作:对所述网格单元i的所有网格子单元,在其各边中点插入新的网格节点,按固定的划分方法将所述网格子单元细分为N C 个新的所述子单元,若所述网格子单元为多边形,中点位于所述多边形的边上,该中点插入所述多边形的边,成为所述多边形的顶点;若所述网格子单元为多面体,中点连成的棱边位于所述多面体的面上,该中点连成的棱边插入所述多面体的面,成为所述多面体的棱边;
步骤5.5,对所述网格单元i,若其邻居网格单元j的所述细分次数N R (j)=N R (i)+1,将附着在所述网格单元i,j公共边或公共面上的所述网格单元i的所述网格子单元细分为2个或3个所述子单元,新增的细分网格节点或棱边为所述网格子单元在所述网格单元i,j公共边上的边,或公共面上的面;若该公共边为所述多边形的边,新增的所述细分网格节点同样也插入所述多边形的边,成为所述多边形的顶点;若该公共面为所述多面体的面,新增的所述细分棱边同样也插入所述多面体的面,成为所述多面体的棱边;
步骤5.6,设置i=i+1,转入步骤5.2。
图3所示为二维三角形网格单元细分示意图,图3(a)~(c)为单个三角形网格单元细分1~3次示意图,可以看出,单个三角形网格单元细分N R 次,直接将网格单元划分为个三角形。图3(d)~(f)为三角形网格单元及其邻居细分示意图,邻居网格单元细分次数比当前网格单元细分次数少1,此时,需要在邻居网格单元细分的基础上,对公共边上的网格单元再进行细分。
图4所示为三维四面体网格单元一次完全细分实施例,首先,将四面体1细分为4个四面体2′和中间一个八面体3,如图4(a)所示,再将中间的八面体3细分为4个四面体2″,如图4(b)所示。最终,四面体1经过一次完全细分后被细分为8个四面体,包括4个四面体2′和4个四面体2″,通常情况下,所述四面体2′和所述四面体2″为互不相同的四面体。
图5所示为三维四面体网格过渡单元不完全细分实施例,和二维情况类似的是,在细分次数不同的相邻网格单元,需要在细分次数低一次的过渡单元产生不完全细分网格单元。图5(a)为网格过渡单元的一个棱边被插入一个中点细分为2个网格单元的细分示意图,图5(b)为网格过渡单元的两个相对棱边分别被插入一个中点细分为3个网格单元的细分示意图,图5(c)为网格过渡单元的两个共面棱边分别被插入一个中点细分为3个网格单元的细分示意图,图5(d)为网格过渡单元的三个共面棱边分别被插入一个中点细分为4个网格单元的细分示意图。
依据步骤5对所有需要细分的网格单元进行细分后,即可获得细分的网格单元,图6为自适应细分前的网格单元,在获得网格单元的细分次数后,通过步骤5进行自适应细分的细分结果如图7所示,可以看出,细分的网格单元基本集中在过孔附近。
其中,在所述步骤6中,具体包括:
步骤6.1,设置位于所述多边形顶点的所述网格节点为不动点,其余所述网格节点为可动点,设置移动距离识别阈值为d eps ;
步骤6.2,设置i=1,设置所述移动距离最大值d max=0;
步骤6.3,设置所述网格节点i的新坐标为所述网格节点i的所述超收敛单元片的重心,若所述网格节点i的所述移动距离大于d max,设置d max等于所述网格节点i的所述移动距离;
步骤6.4,设置i=i+1,若i=网格节点总数,转入步骤6.5,否则转入步骤6.3;
步骤6.5,若d max<d eps ,结束步骤6,否则转入步骤6.2。
为使得细分后网格单元较为平滑,符合场分布的连续性规律,可以采用以上步骤6对细分的网格单元进行平滑;对于图7所示的细分网格单元,按照步骤6平滑后的网格单元如图8所示。
本发明所述的一种基于后验误差估计的集成电路自适应有限元网格细分方法,利用当前网格单元的有限元数值解梯度的误差在网格单元的某些点处具有超收敛性的性质,由初始解的梯度G fem 在网格节点的超收敛单元片近似恢复更高阶精度的梯度G spr 作为梯度的准确值;基于初始解的梯度G fem 和更高阶精度的梯度G spr 计算每个网格单元的相对误差和总体误差指标;根据网格单元细分时总体误差的变化规律,采用一种动态估算细分过程中总体误差的方法迭代算出每个网格单元一次性细分的次数,并对相邻网格单元的细分次数进行平滑确定每个网格单元最终应该细分的次数;基于网格单元的细分次数直接对每个网格单元进行细分并平滑;再次计算总体误差指标判断是否达标。该方法避免了h-收敛实现自适应网格单元细分收敛速度慢的缺点,同时也避免了基于误差估计的快速自适应网格单元细分产生过多网格子单元导致无法求解的缺点,首次提出根据网格单元细分时总体误差的变化规律,采用一种动态估算细分过程中总体误差的方法迭代计算出每个网格单元一次性细分的次数,使得该技术既能实现仅仅一次自适应细分和求解即可使得总体误差小于目标误差,又能实现细分的网格单元数目尽可能的少,从而完美实现多层超大规模集成电路的电磁场分析的快速、准确的计算目标。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (5)
1.一种用于超大规模集成电路电磁场分析的基于后验误差估计的集成电路自适应有限元网格细分方法,其特征在于,包括以下步骤:
步骤1,求解得到当前网格单元的有限元数值解,在每个网格节点的超收敛单元片内,基于解的梯度G fem 近似恢复更高阶精度的梯度G spr 作为解的梯度的准确值;
步骤2,基于所述解的梯度G fem 和所述更高阶精度的梯度G spr 计算每个所述网格单元的相对误差和总体误差,从而判断出总体误差指标是否达标,若达标,则结束,若未达标,则进行步骤3;
步骤3,根据所述网格单元细分过程中所述总体误差的变化规律,迭代算出每个所述网格单元一次性细分次数;
步骤4,针对超大规模集成电路过孔附近的电磁场场强分析,对所述网格单元的所述细分次数进行平滑,使得相邻所述网格单元的所述细分次数差别不高于1,从而确保所述网格单元细分后疏密网格的自然过渡;
步骤5,基于所述网格单元的所述细分次数直接对每个所述网格单元进行所述细分,细分网格单元集中在集成电路过孔附近;
步骤6,对所述细分的所述网格单元进行平滑;
步骤7,转入步骤1;
所述超收敛单元片为有限元求解的误差在求解区域的某些部分的收敛速度大于所述求解区域的其它部分的所述收敛速度的单元片;
在所述步骤1中,所述网格节点的超收敛单元片定义为:包含该网格节点的所有网格单元形成的所述单元片;若所述网格节点在区域内部,则所述单元片应完全包含该网格节点;若所述网格节点不在所述区域内部而在边界上,则包含该网格节点的所述所有网格单元不完全包含该网格节点,此时认为该网格节点不存在所述超收敛单元片;
在所述步骤1中,所述恢复更高阶精度的梯度G spr 的具体步骤为:
步骤1.1,计算每个所述网格单元所述解的梯度G fem ;
步骤1.2,对第i个网格节点,若该网格节点存在所述超收敛单元片,计算该超收敛单元片的x方向最小值x min、最大值x max和y方向最小值y min、最大值y max,若是进行三维有限元网格单元的自适应细分,则还应计算出该超收敛单元片的z方向最小值z min、最大值z max;
步骤1.4,对所述第i个网格节点,若该网格节点存在所述超收敛单元片,按下式计算其所述更高阶精度的梯度G spr :
其中P为p阶多项式完整展开式,p为单元阶数,对于一阶三角形单元,有
其中a为待定系数,定义
对于一阶四面体单元,有
其中n为单元片所有超收敛点的个数;(x i , y i )或(x i , y i , z i )为超收敛点的坐标;以上方程表明,在F(a)取最小值时,在超收敛点处与最为接近,而这里的超收敛点正好是获得更高阶收敛的点;对泛函F(a)取极值,得出
若是进行所述三维有限元网格单元的自适应细分,则以上A, b计算公式应为
在所述步骤2中,所述计算每个所述网格单元的相对误差:
所述总体误差:
判断所述总体误差指标是否达标:需判断是否满足
在所述步骤3中,计算出每个所述网格单元允许的最大误差为:
式中S e 为所述网格单元的面积,S为所有网格单元的面积总和;
则该网格单元不需要细分,否则,若所述网格单元一次细分成N C 个子单元,N R 次细分后所述子单元的误差为
若解与真值相同,计算区域内误差处处为0,在这样的假设情况下,使用上述步骤3计算出每个所述网格单元允许的最大误差,总体误差变为
如果有M个所述网格单元需要细分,则总体误差变为
2.根据权利要求1所述的用于超大规模集成电路电磁场分析的基于后验误差估计的集成电路自适应有限元网格细分方法,其特征在于,在所述步骤3中,所述迭代算出每个所述网格单元一次性细分次数具体包括:
步骤3.1,初始化各所述网格单元的所述细分次数N R 为0;
步骤3.4,对排序后的第i个网格单元,更新其所述细分次数为
N R =N R +1
根据更新的第i个网格单元的相对误差更新其在所有网格单元相对误差中的排序,
步骤3.5,更新i=i+1,若i>网格单元总数,设置i=1;
步骤3.6,转入步骤3.4。
3.根据权利要求2所述的用于超大规模集成电路电磁场分析的基于后验误差估计的集成电路自适应有限元网格细分方法,其特征在于,在所述步骤4中,具体包括:
步骤4.1,将所述网格单元的所述细分次数按从大到小排序,排序后的所述网格单元记为E,设置所有网格单元的状态为未访问,设置i=1;
步骤4.2,若i=网格单元总数,转入步骤4.8,否则转入步骤4.3;
步骤4.3,对所述网格单元E(i),若该网格单元状态为已访问,设置i=i+1,转入步骤4.2,否则设置该网格单元状态为已访问,将所述网格单元E(i)的所有邻居加入到集合Front;
步骤4.4,若所述集合Front为空集,设置i=i+1,转入步骤4.2,否则执行步骤4.5;
步骤4.5,从所述集合Front中取出第一个网格单元,并将该网格单元从所述集合Front中删除;假设该网格单元在E中排列为j,若N R (j)>N R (i)+1,则清空所述集合Front,设置i=i+1,转入步骤4.2,否则转入步骤4.6;
步骤4.6,设置步骤4.5中取出的所述网格单元j状态为已访问,若N R (j)<N R (i)-1,设置N R (j)= N R (i)-1,设置i=i+1;
步骤4.7,转入步骤4.3;
步骤4.8,对所有网格单元E(i),若其所有邻居网格单元E(j)的所述细分次数N R (j)>=N R (i)+1,设置N R (i)=N R (i)+1。
4.根据权利要求3所述的用于超大规模集成电路电磁场分析的基于后验误差估计的集成电路自适应有限元网格细分方法,其特征在于,在所述步骤5中,具体包括:
步骤5.1,设置i=1;
步骤5.2,若i=网格单元总数,则结束步骤5,否则进入步骤5.3;
步骤5.3,若N R (i)=0,设置i=i+1,转入步骤5.2,否则进入步骤5.4;
步骤5.4,重复N R (i)次操作:对所述网格单元i的所有网格子单元,在其各边中点插入新的网格节点,按固定的划分方法将所述网格子单元细分为N C 个新的所述子单元,若所述网格子单元为多边形,中点位于所述多边形的边上,该中点插入所述多边形的边,成为所述多边形的顶点;若所述网格子单元为多面体,中点连成的棱边位于所述多面体的面上,该中点连成的棱边插入所述多面体的面,成为所述多面体的棱边;
步骤5.5,对所述网格单元i,若其邻居网格单元j的所述细分次数N R (j)=N R (i)+1,将附着在所述网格单元i,j公共边或公共面上的所述网格单元i的所述网格子单元细分为2个或3个所述子单元,新增的细分网格节点或棱边为所述网格子单元在所述网格单元i,j公共边上的边,或公共面上的面;若该公共边为所述多边形的边,新增的所述细分网格节点同样也插入所述多边形的边,成为所述多边形的顶点;若该公共面为所述多面体的面,新增的所述细分棱边同样也插入所述多面体的面,成为所述多面体的棱边;
步骤5.6,设置i=i+1,转入步骤5.2。
5.根据权利要求4所述的用于超大规模集成电路电磁场分析的基于后验误差估计的集成电路自适应有限元网格细分方法,其特征在于,在所述步骤6中,具体包括:
步骤6.1,设置位于所述多边形顶点的所述网格节点为不动点,其余所述网格节点为可动点,设置移动距离识别阈值为d eps ;
步骤6.2,设置i=1,设置所述移动距离最大值d max=0;
步骤6.3,设置所述网格节点i的新坐标为所述网格节点i的所述超收敛单元片的重心,若所述网格节点i的所述移动距离大于d max,设置d max等于所述网格节点i的所述移动距离;
步骤6.4,设置i=i+1,若i=网格节点总数,转入步骤6.5,否则转入步骤6.3;
步骤6.5,若d max<d eps ,结束步骤6,否则转入步骤6.2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010014226.2A CN110807289B (zh) | 2020-01-07 | 2020-01-07 | 基于后验误差估计的集成电路自适应有限元网格细分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010014226.2A CN110807289B (zh) | 2020-01-07 | 2020-01-07 | 基于后验误差估计的集成电路自适应有限元网格细分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110807289A CN110807289A (zh) | 2020-02-18 |
CN110807289B true CN110807289B (zh) | 2020-12-01 |
Family
ID=69493400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010014226.2A Active CN110807289B (zh) | 2020-01-07 | 2020-01-07 | 基于后验误差估计的集成电路自适应有限元网格细分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110807289B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111814422B (zh) * | 2020-09-15 | 2020-12-15 | 北京智芯仿真科技有限公司 | 集成电路电磁仿真多重网格法的插值矩阵构造方法及装置 |
CN111931457B (zh) * | 2020-09-27 | 2021-01-15 | 北京智芯仿真科技有限公司 | 基于混合阶有限元的多层集成电路电磁场计算方法及装置 |
CN111931458B (zh) * | 2020-10-09 | 2021-01-15 | 北京智芯仿真科技有限公司 | 基于混合阶有限元的三维集成电路电磁场计算方法及装置 |
CN112632825B (zh) * | 2020-12-22 | 2023-03-10 | 重庆大学 | 一种基于有限元超收敛性的静电场光滑有限元数值算法 |
CN113761762B (zh) * | 2021-08-03 | 2023-10-20 | 西北核技术研究所 | 用于电场/温度有限元数值解的后验误差估计方法 |
CN116502487A (zh) * | 2023-04-06 | 2023-07-28 | 西安电子科技大学 | 一种基于宽频带自适应策略的dgtd方法 |
CN116956626A (zh) * | 2023-08-03 | 2023-10-27 | 湖南工程学院 | 一种基于能量误差估计的自适应分析方法及系统 |
CN117726773B (zh) * | 2023-12-22 | 2024-08-02 | 西南科技大学 | 网格自适应细分优化方法应用在三维模型渲染中的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102446357A (zh) * | 2011-11-23 | 2012-05-09 | 浙江工商大学 | 基于自适应有限元的水平集sar图像分割方法 |
CN104978447A (zh) * | 2014-04-14 | 2015-10-14 | 复旦大学 | 晶体管精确近似表格查找模型的建模和估值方法 |
CN110210129A (zh) * | 2019-06-03 | 2019-09-06 | 中南大学 | 自适应有限元gpr频率域正演方法 |
US10408971B2 (en) * | 2014-03-25 | 2019-09-10 | IFP Energies Nouvelles | Method of constructing an optimized mesh for reservoir simulation in a subterranean formation |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3084632A4 (en) * | 2013-12-19 | 2017-08-23 | University Of Louisville Research Foundation, Inc. | Multi-scale mesh modeling software products and controllers |
-
2020
- 2020-01-07 CN CN202010014226.2A patent/CN110807289B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102446357A (zh) * | 2011-11-23 | 2012-05-09 | 浙江工商大学 | 基于自适应有限元的水平集sar图像分割方法 |
US10408971B2 (en) * | 2014-03-25 | 2019-09-10 | IFP Energies Nouvelles | Method of constructing an optimized mesh for reservoir simulation in a subterranean formation |
CN104978447A (zh) * | 2014-04-14 | 2015-10-14 | 复旦大学 | 晶体管精确近似表格查找模型的建模和估值方法 |
CN110210129A (zh) * | 2019-06-03 | 2019-09-06 | 中南大学 | 自适应有限元gpr频率域正演方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110807289A (zh) | 2020-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110807289B (zh) | 基于后验误差估计的集成电路自适应有限元网格细分方法 | |
CN113096234B (zh) | 利用多张彩色图片生成三维网格模型的方法及装置 | |
CN110069800B (zh) | 具有光滑边界表达的三维结构拓扑优化设计方法及设备 | |
CN111898330B (zh) | 基于多层次并行策略的集成电路电磁响应计算方法及装置 | |
CN105654548B (zh) | 一种基于大规模无序图像的多起点增量式三维重建方法 | |
JP2954894B2 (ja) | 集積回路設計方法、集積回路設計のためのデータベース装置および集積回路設計支援装置 | |
CN111898332B (zh) | 超大规模集成电路频域仿真自适应频点提取与计算方法 | |
CN112131774B (zh) | 用于集成电路三棱柱网格剖分的混合阶有限元方法及装置 | |
JP2010079896A (ja) | 集積回路設計中の製造の影響の高速シミュレーションを行なうための装置、方法及びコンピュータ・プログラム | |
US7876322B2 (en) | Method and apparatus for fast and efficient mesh simplification | |
CN115859899A (zh) | 一种多驱动能力的集成电路标准单元版图迁移的方法 | |
CN113255259B (zh) | 一种基于大规模集成电路划分的并行求解方法 | |
CN111767688B (zh) | 集成电路版图多边形非结构网格自适应细分方法和系统 | |
CN114861591A (zh) | 一种可微分时序驱动的芯片布局优化方法 | |
CN116341429B (zh) | 对逻辑网络进行逻辑重写方法及相关设备 | |
CN111814422B (zh) | 集成电路电磁仿真多重网格法的插值矩阵构造方法及装置 | |
Zhao et al. | Implicit and non-parametric shape reconstruction from unorganized points using a variational level set method | |
CN110532670B (zh) | 一种适分析样条实体模型构建方法及系统 | |
US7984404B2 (en) | Black box timing modeling method and computer system for latch-based subsystem | |
Ho et al. | Level set active contours on unstructured point cloud | |
CN113486613B (zh) | 数据链路的提取方法、装置、电子设备和存储介质 | |
CN116796676A (zh) | 用于设计电路的方法、装置、设备、介质以及程序产品 | |
Georgiadis et al. | Indirect all-quadrilateral meshing based on bipartite topological labeling | |
CN113610711A (zh) | 一种单图像引导的三维表面重建方法及装置 | |
KR100373456B1 (ko) | 반도체 공정 수치 해석을 위한 토포그래피 시뮬레이션시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201228 Address after: Room 02b-350, block B (second floor), No.28, Xinxin Road, Haidian District, Beijing Patentee after: Beijing Smart core Simulation Technology Co.,Ltd. Address before: Room 2028, No.1 Hutong B, yangpi City, Xicheng District, Beijing Patentee before: BEIJING WEIZHI JIACHEN TECHNOLOGY DEVELOPMENT Co.,Ltd. |