没有合适的资源?快使用搜索试试~ 我知道了~
软件X 11(2020)100476原始软件出版物Bembel:Laplace,Helmholtz和电波方程的快速等几何边界元C++库J. 多尔茨河Harbrechtb,S.Kurzc,M.Multererd,S.Schöpsc,F.Wolfc,a达姆施塔特工业大学数学系,德国b瑞士巴塞尔大学数学与计算机科学系c达姆施塔特工业大学,研究所TEMF&计算工程中心,德国d意大利Svizzera大学,计算科学研究所,瑞士ar t i cl e i nf o文章历史记录:收到2019年收到修订版2020年2月28日接受2020年保留字:BEMIGALaplaceHelmholtzMaxwell C++FMMH2矩阵a b st ra ct在这篇文章中,我们介绍了Bembel,C++库具有拉普拉斯,亥姆霍兹和麦克斯韦问题的高阶等几何Galerkin边界元法Bembel与Octave NURBS软件包中的几何体兼容,并提供了一个到Eigen模板库的接口,用于线性代数运算。对于计算效率,它适用于嵌入式快速多极子方法量身定制的等几何分析框架和基于OpenMP的并行矩阵组装©2020作者由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本v1.0用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX_2019_176法律代码许可证GPL 3使用Git的代码版本控制系统使用C++、OpenMP的软件代码语言、工具和服务编译要求,操作环境依赖性C++11,本征线性代数库如果可用,链接到开发人员文档或手册http://temf.github.io/bembel/问题支持电子邮件info@bembel.eu1. 介绍边界元法(BEM)或矩量法(MoM)是一种广泛用于求解偏微分方程(PDE)的工具,在工程应用中,如均匀介质中的声和电磁散射问题它在工业中被接受,并且可以作为软件包来实现。BEM++ [1]是一个典型的例子,*通讯作者。电子邮件地址:doelz@mathematik.tu-darmstadt.de(J. Dölz),helmut.unibas.ch(H.Harbrecht),kurz@gsc.tu-darmstadt.de(S.Kurz),michael.usi.ch(M.Multerer),schoeps@temf.tu-darmstadt.de(S. Schöps),wolf@temf.tu-darmstadt.de(F.Wolf)。https://doi.org/10.1016/j.softx.2020.100476开源和BETL [2],可免费用于学术用途。这些代码的一个共同点是,它们依赖于网格生成器来创建基于三角形的表面网格,这些网格由平面三角形或低阶参数元素组成。因此,(高阶)边界元法的收敛阶数受到底层网格近似误差的限制。随着等几何分析的出现,见[3],边界元方法受到了越来越多的关注,因为计算机辅助设计(CAD)工具直接提供了非均匀有理B样条(NURBS)曲面的参数表示。这最近导致了关于NURBS的软件的蓬勃发展,参见,例如,[4、5]。2352-7110/©2020作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx2J. 德尔茨湖Harbrecht,S.Kurz等人粤公网安备44010802000016号HHHHH由于从表面描述中提取体积映射是一个活跃的研究领域,存在许多问题,因此使用等几何有限元方法在实践中具有挑战性。边界元法是这种情况下的选择方法,也可参见[6然而,它们的实现通常需要大量的专业知识,这可能导致非专家避免使用它们。软件库Bembel,基于XML的基本元素方法库,是一个用C++编写的仅限头文件的库(符合2011标准)[13]。它提供了一个通用的框架和积木解决边界积分算子内的等几何框架工作,例如拉普拉斯,亥姆霍兹,或电波方程的边界值问题。该软件的开发始于参数曲面上的小波Galerkin方法的背景下,参见[14],其中已经开发并实现了拉普拉斯算子的格林函数的正交例程然后在[15]中将其推广到层次矩阵(-矩阵),在[16]中推广到2-矩阵和高阶B样条在B样条和NURBS几何映射的支持下,Laplace和Helmholtz代码在[7]中成为等几何代码。在[17]中,通过覆盖电场积分方程,适用于非标量问题,并于2020年初现代化为一个灵活的C++标题库。该软件包的出版旨在使等几何边界元法适用于更广泛的受众。因此,我们的目标是一个易于使用的C++ API,它简化了对底层例程的访问,与线性代数的Eigen模板库兼容,参见[18]。这是实现的,同时仍然提供边界元素系统矩阵的黑盒22-压缩产生几乎线性的计算成本的未知数的数量的组装,存储要求和矩阵向量乘法的系统矩阵。对于几何图形的表示,Bembel具有任意参数映射,最突出的是作为NURBS映射,可以直接从Octave NURBS包生成的文件导入[4]。本文的结构如下:第二节简要介绍等几何边界元,详细内容见附录。然后,第3节解释了我们的设计注意事项,然后第4节展示了一个特定的代码示例。在对我们的API的重要类有了一定的了解之后,第5节和第6节将解释我们的库的结构及其主要构建块。接下来是第7节中的一些简单数值结果的展示,这些结果完全类似于第一个代码示例。之后,在第8节中给出了关于我们实现的影响的一些评论,最后,我们在第9节中结束。2. 等几何边界元法Bembel能够处理基于边界积分算子的一般边值问题,并提供了解决众所周知的拉普拉斯,亥姆霍兹和电波方程的例子,如附录A所述。对于亥姆霍兹和电波方程,所提供的示例假定非谐振波数。边界值问题可以用单层位势方程求解,见附录B,它要求用数值离散法求解边界积分方程。这种方法和类似的方法通常称为边界元法.Bembel通过使用符合Galerkin计划来实现这些。边界元法与经典有限元法相比的一个固有优点是,它们可以直接作用于CAD程序中的NURBS曲面描述,见附录C。这与相应的样条空间有关,导致所谓的等几何边界元法。Bembel执行这些操作,并假设表面描述满足附录D中规定的要求。Galerkin方法的样条空间被构造为等几何多片B样条空间,见附录E。众所周知,在所有提供的示例中,可以通过对边界值施加合理的假设来保证连续问题及其离散对应物的解的可解性和唯一性,基本上保证输入数据的“物理性”,参见例如。[19、20]。系统矩阵的计算需要计算奇异积分,参见[20]。对于这些积分的数值求积,我们采用了[21]中描述的正则化技术所得到的密集填充系统矩阵的压缩基于嵌入式快速多极子方法(FMM),该方法适合等几何分析的框架,参见[16,17],并适合2矩阵的框架。其独特的优点是矩阵压缩直接应用于参考几何,即单位正方形。因此,所采用的压缩方案受益于问题的固有二维结构。 系统矩阵的装配成本、存储需求和矩阵-向量乘法在数量上几乎是线性的”[16]“不知道。此外,这种压缩技术可证明保持收敛行为越来越精细的离散化,参见。[16 ]第10段。在[7,16,17]中提供了对所实施方法的深入数学分析以及基于以前版本的Bembel的数值研究。3. 设计考虑大多数具有内置矩阵压缩的现代三维边界元代码Bembel的中心目标之一是提供一种计算效率高的等几何边界元素代码,该代码具有模仿数学设置的简单用户界面因此,Bembel的API是用现代的、基于模板的C++设计的,并为数值线性代数的Eigen模板库提供了一个接口。这使用户能够获得类似于Matlab和Octave的编程体验,并使用Eigen库中的所有无矩阵算法。特别地,可以采用Eigen提供的所有求解器而无需进一步修改。4. 示例程序遵循Eigen库的例子,Bembel被设计为一个只有头的库,结构化为不同的模块。在详细讨论这些模块之前,我们将提供一个示例程序,以使读者熟悉典型的程序流程。讨论的例子是一个主文件,解决了拉普拉斯问题,并评估在空间中的用户定义的点的潜力。该代码对应于所提供的示例之一 在Bembel的存储库中和控制台输出。以下示例中的所有功能都位于Eigen或Bembel名称空间中,因此第2行和第3行只是为了方便起见。第4行从给定文件中删除一个几何对象如前所述,我们支持通过Octave的NURBS包导出的几何文件,并在官方存储库中提供示例,展示用户如何生成自己的几何文件。J. 德尔茨湖Harbrecht,S.Kurz等人粤公网安备44010802000016号3publicintfindDuplicate(){2美国ingnamespaceBembel;3usingnamespace Eigen;4Geom e metrygeometry(“external_geometry_file. “);56MatrixXdgrid p oints=//使用已找到的points78std::functiondo ble(Vector3d)>fun=9[](Vector3din){//使用serdefinedrightthand side10};1112intpolynomial_degree=//runtime parameter13intrefinemnt_level=//runtime parameter1415AnsatzS空间L空间SingleLayer操作>16ansatz_space(geometry,refinement_level,polynomial_degree);1718DiscretLinearFormDirichletTracedo ble>,19LaplaceSingleLayerOperator>20disc_lf(arr_space);21disc_lf. get_linear_form(). set_function(fun);22disc_lf. cmputte();2324DiscreOperatorH2Matrixdouble>,LaplaceSingleLayerOperator>25disc_op(sort_space);26天的C_OP。cmputte();2728ConjugateGradient,Lower|在此之前,我认为这是一个先决条件;29cg. compute(disc_op.)get_discretete_opeperatorr());30autorho=cg. solve(disc_lf.get_discretete_linerear_form());3132DiscretePotent ial,33LaplaceSingleLayerOperator>disc_pot(arr_space);34disc_pot.set_cauchy_data(rho);35汽车锅=盘罐getString(String);36返回0;38}第8-10行然后,在第12和13行中,设置基函数的多项式次数和细化级别两者都是运行时参数,因此Bembel允许h,p和k细化。在 第 15-16 行 , 初 始 化 离 散 空 间 。 AnsatzSpace 类 为LaplaceSingleLayerOperator或用户定义的另一个线性运算符生成正确的Anomaly空间。AnsatzSpace类的构造函数为节点重复提供了一个默认参数,该参数也可用于细化,从而可以区分p和k细化。第18-在这种情况下,由DirichletTrace给出的LinearForm实现了一个映射,该映射在参数曲面w.r.t.上评估乐趣引用域,它必须传递给第21行中的LinearForm第22行然后调用适当的求积例程并组装右侧。第24-26行负责系统矩阵的组装。在这个例子中,我们选择将系统组装成我们自己的和Eigen兼容的H2Matrix格式,但是Eigen::MatrixXd也可以用于非压缩的组装。AnsatzSpace对象在第25行传递给DiscreteOperator其 中 , compute ( ) 方 法 然 后 组 装 矩 阵 。通 过LaplaceSingleLayerOperator给出的LinearOperatorBase类的特殊化需要提供一个evaluate_integrant_impl实现,用于计算矩阵项。下面讨论可能的实现。在第28-30行中之后,在第32-35行中,创建了一个DiscretePotential对象,它根据计算的Cauchy数据计算PDE的逐点解。其中,所有必需的信息都通过专门化LaplaceSingleLayerPotential传递给类,这也是用户定义的。5. 模块及其使用现在,已经建立了对典型程序流程的基本熟悉,我们将按字母顺序介绍所有Bembel模块并讨论它们的用途。AnsatzSpaceAnsatzSpace模块包含管理几何曲面上离散空间的例程。具体来说,这是通过四个类SuperSpace、Projector、Glue和AnsatzSpace实现的。其中,SuperSpace管理每个元素上的局部多项式基。 通过 由 模 板 类 Projector 生 成 的 转 换 矩 阵 , 该转换矩阵取 决 于LinearOperatorBase的特殊化及其定义的特征,SuperSpace可以与每个面片上的B样条基相关。为了构建一致性空间(在DifferentialForm::DivergenceConforming的情况下,通过面片界 面 上 的 法 向 分 量 的 连 续 性 , 在 DifferentialForm : :Continuous的情况下,通过全局C 0连续性),模板类Glue组装另一个变换矩阵以识别边缘上的自由度。然后,超空间中的系数向量可以与光滑B样条基之一相关,如[9,17]中所解释的。苹果树该模块在参数曲面上引入了簇层次结构。包含的ObjectTree类接受一个Geometry并在其上引入一个元素结构,以ElementTree的形式。ElementTree的每个ElementTreeNode对应于整个参数映射(在树的第一级)或递归细化策略所诱导的子元素树的叶子对应于SuperSpace在其上引入形状函数的元素达菲特里克DuffyTrick模块为(近)奇异积分提供求积例程。其中,实施如[14]的附录中所述,本质上是所谓的Sauter-Schwab求积规则[21]的改编这些例程与Quadrature模块一起,可以很容易地用作任何类型四边形离散化的独立模块。DummyOperator此模块提供LinearOperatorBase进行测试。4J. 德尔茨湖Harbrecht,S.Kurz等人粤公网安备44010802000016号[客户端][]=[]个字符几何几何模块提供计算框架中的参数化几何描述所需的功能Geometry类是几何描述和代码其余部分之间的接口。我们通过Patch类提供了NURBS离散面片的实现,但代码只要实现了相应的点求值和逐点雅可比矩阵的求值方法,就可以很容易地扩展到从0,1,2映射到部分几何的其它参数描述。几何模块仅依赖于样条模块,可单独用于实现自定义数字代码。H2矩阵该H2Matrix模块提供了一个有效的压缩系统矩阵和矩阵向量乘法的计算成本的减少功能。其中,实现的算法对应于[7,16]中提出的算法。亥姆霍兹Helmholtz模块提供了解决Helmholtz问题的专门化。IOIO模块提供拉普拉斯Laplace模块提供了解决Laplace问题的专门化。LinearFormLinearForm模板类必须专门用于右侧的程序集。作为示例,Bembel提供了解决拉普拉斯和亥姆霍兹狄利克雷问题以及电场积分方程所需的标量狄利克雷迹和向量值RotatedTangentialTrace通过在相应的头文件中进行适当的修改,可以很容易地实现实现其他实现不同方法的专门化LinearOperatorLinearOperatorBase类的专门化控制着大多数其他模块的特性。 为了提供有效的专门化,用于评估被积函数的方法,即,包括测试功能。此外,必须提供LinearOperatorTraits的相应规范,允许其他类确定关键属性,如问题的数值类型(通常为double或std::complexdouble>)和离散化的类型,即,DifferentialForm::Continuous,对应 于 H1/2 的 离 散 子 空 间 , DifferentialForm : :DivConforming , 对 应于 H−1/2 ( divΓ , Γ ) 的离 散 子空 间 , 或DifferentialForm::Discontinuous,cor-form对应于H−1/2(Γ)的离散子空间。麦克斯韦麦克斯韦模块的例子,专门要求解决的问题的基础上的电波方程。潜在潜在的模块介绍了通过适当的积分算子,以未知的线性系统作为输入,评估PDE的它再次依赖于LinearOperatorBase类的适当专门化正交正交模块提供0, 1n forn 1, 2的正交例程。该实现是任意的四阶,其中对于高阶所需的数据是gener- ated由相应的三项递归的解决方案。Quadrature模块可以独立使用。样条样条模块提供了与样条函数和局部多项式相关的基本例程。多项式 通过模板 递归实 现, 如果在Bembel中使 用, 则应通 过SuperSpaceSpline模块独立于其它模块,可方便地作为其它数码的基础。6. 特定于用户的实现在上述所有操作中,用户需要提供某些实现以指定自定义运算符。这些是被积函数的评估程序,以及某些特征的定义。我们将简要讨论拉普拉斯单层情况下的实现,下面的代码示例。1classLap alaceSinleLayerOperator;23template>4structLinearOperatorTraitsLaplaceSingleLayerOperator>{<5类型的Eigen::VectorXdEigen类型;6typedefdobleScalar;7枚举{8OperatorOrder=-1,9Form=DifferentialForm::Discontinuous,10//.11};12};这是LinearOperatorTraits的一个示例。它们为核心算法提供了一种方法来推导类型,例如复杂或实数值,以及与待解决问题相关的矩阵格式。OperatorOrder枚举使核心例程能够选择适当的求积次数,并且Form指定将基组装为H−1/2(Γ)的离散化,即,在面片边界上不连续。进一步的特点desig-nate信息的H2Matrix压缩,为讨论这些,我们指的是Doxygen文档的代码。对于矩阵程序集的实现,所谓的SurfacePoint作为输入传递。可以如下处理SurfacePoint p。1autoos=p。segmnt2>(0);2独家W (2).3autof=p. 第3节>(3);4autof_dx=p. 第3节>(6);5autof_dy=p. 第3节>(9);SurfacePoint 是 特 征 : : Matrixdouble , 特 征 : :Dynamic,12>的类型定义,其中前两个分量s保存参考元素中的坐标,第三个分量是可选的(正交)权重,第四至第六个条目f是R3中几何上的对应点,其余分量f_dxJ. 德尔茨湖Harbrecht,S.Kurz等人粤公网安备44010802000016号5以及f_dy是对应于x和y方向上的微分的切向矢量表面点可以通过如上所述的代码片段进行现在,evaluateIntegrand_impl的实现可以如下所示。12classLapaceSingleLayyerOperator3:publicLinearOperatorBaseLalaceSingleLayerOperator>{<4公共:5LaplaceSingleLayerOperator(){}6templateclasT>7void a)b)8constTsuper_s空间,constSurfacePointp1,const SurfacePointp2,9Eigen::Matrix<10typenameLinearOperTraitsLaplaceSingleLayerOpertr>::Scalar,<11Eigen::Dynamc,Eigen::Dynamc>*intval)const{12autoo polynomial_degree=super_space.get_poly_nomial_degree();13autoo pollynomial_degree_plus_one_squared=14(聚乙二醇_degree+1)*(聚乙二醇_degree+1);15//Surface pointsp1andp2areunwrapped16//byassigning 参考如上所述17autoox_kappa=x_f_dx. cross(x_f_dy). 无rm();18autoy_kappa=y_f_dx. cross(y_f_dy). 无rm();Fig. 1. 从解决方案中获得的插图的一拉普拉斯问题.问题规范和重现它的代码在示例_FullLaplaceWorkflow中。Bembel存储库中提供的cpp,其中p对应于polynomial_degree,h对应于(1/ 2)refinement_level。密度是系数向量的可视化ρ来1920212223}(* intval)+=super_space。基础相互作用(s,t)*evaluateKernel(x_f,y_f)*x_kappa*y_kappa*ws*wt;返回;压缩以实现计算效率。虽然这对于拉普拉斯方程在具有平面元素的边界三角剖分上的最低阶实现已经是正确的,但在等几何(或参数)表面上,第1-11行在被积函数求值的实现中,第13-19行超级空间是知道的细化结构,并产生方法的基础函数的评价。与矩阵组装相关的 实 际 实 现 在 第 20 行 中 , 其 直 接 对 应 于 针 对 正 交 点 和 在SurfacePoint中编码的权重注意的的执行的相应的LaplaceSingleLayerPotential是完全类似的,并且在Laplace模块内的存储库中也提供了FMM的spececialization作为示例7. 数值结果运行上面讨论的示例代码的更详细版本,包括多项式阶数和细化级别的循环,以及经由人工解的误差测量,产生图1中所示的数值结果,其表现为理论预测的,参见图1[7]的文件。我们注意到,图1中的密度可视化是由IO模块中提供的例程生成的。在[7,17]中讨论了使 用 以 前 版 本 的 Bembel 计 算 的 更 多 涉 及 的 数 值 示 例 , 包 括Helmholtz和Maxwell问题8. 影响三维空间边界元法的实现是一项非平凡的任务,因为必须对奇异积分进行数值计算,并且需要矩阵度量B样条(或高阶)边界元空间,以及更多涉及的电磁问题。这些与实现相关的问题导致许多人避免使用边界元法,即使已知用边界元法可以最好地解决我们的软件包的目的是提供一个国家的最先进的边界元工具箱的工程师谁愿意应用竞争力的等几何边界元法在黑盒时尚。这使得用户可以自由地使用边界元法作为一种工具,在涉及的工程应用。据我们所知,高阶B样条边界元空间的函数性是第一个可用于三维的开源实现。Bembel的主要优点是能够实现一般的边界积分算子,并能直接积分到特征线性代数库中。这使得用户可以直接对数据进行预处理或后处理,干净的用户界面。稠密和无矩阵的特征值算法为Galerkin方程组或特征值问题。9. 结论Bembel是一个开源库,使用户能够以黑箱的方式应用等几何边界元法解决势、声学、电磁和许多其他问题这是通过一个易于使用的API来实现的,既可以用于黑盒使用,也可以实现自定义运算符,还可以与线性代数的Eigen模板库兼容此外,它还结合了最先进的压缩技术来解决大型问题,以及OpenMP并行化。6J. 德尔茨湖Harbrecht,S.Kurz等人粤公网安备44010802000016号×:=\:=⊂()下一页≤[客户端]{J→ =[]M⋃附加辐射条件|uL(x)|=Ox−21和L=SLL:=Ly∈I2一、二竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作致谢这项工作得到了DFG资助项目SCHO 1562/3-1和KU 1553/4-1的支持,该项目是用等几何边界元模拟超导腔(IGA-BEM)。Jürgen Dölz的工作得到了SNSF赠款156101和174987的部分支持,以及德国联邦和州政府以及达姆施塔特工业大学计算工程研究生院的卓越计划Michael Multerer由SNSF Grant 137669支持至2014年。Felix Wolf的工作得到了德国联邦和州政府卓越计划以及计算科学研究生院的支持。达姆施塔特工业大学的工程学省略波浪号表示简单,得到三个边界积分方程SLρL=gL,SHρH=gH,SMρM=gM(BIE)以确定(LS)、(HS)和(MS)中的未知密度函数。我们注意到 SL 和 SH 是从H−1/2 (Γ )到 H1/2 (Γ )的同构,而 SM 是 H−1/2(divΓ,Γ)上的同构详情见[19,20]。 因此,鉴于一个符合Galerkin方法中,分段多项式边界元空间对于(LP)和(HP)的边界元基解是足够的,而(MP)则需要发散协调的边界元空间。相应的线性系统的唯一可解性可以被证明,见[19,20]。备注B.1. 实际上,所描述的单层势方法同时解决了(LP)、(HP)和(MP)的内部和外部问题。因此,S<$HρH和S<$MjM满足(HP)和(MP)也在n中,而S<$LρL满足(LP()alsoi)n<$ c,附录A. 偏微分方程在下文中,设R3是具有Lipschitz边界的有界域。此外,我们还定义了外部区域R3<$c.本贝尔提供了拉普拉斯方程的例子∥∇uL(x)∥2=O∥x∥−22见《无量寿经》云:“见。附录C. B样条和NURBS设p和k是两个固定整数,使得0p k<和是局部拟一致的节点向量,节点在0, 1,见[22]。B样条基{bp}0≤jk由递归定义−uL=0 in,uL=gL在Γ上,亥姆霍兹方程(LP)作为bp(x)=Jχ[ηj,ηj+1),如果p=0,2 cjx−jbp−1(x)+j+p+1−xbp−1(x),else,−uH−κHuH=0 in,(惠普)j+p−Jj+p+1−J+1uH=gH在Γ上,索末菲辐射条件无限大。在这两种情况下,边界值必须在通常意义上的迹线中理解,例如参见[20]。此外,Bembel可以处理电波方程,其中xM表示集合M的指示函数。有了B样条基,我们定义了样条空间Sp(k):=span({bp}0≤jk)。NURBS映射γi:□单位正方形上的R 3 □0,12由下式给出cbp1(x)bp2(y)wcurl curl EM−κ2EM=0indec,(MP)γ(x,y):=∑∑0≤j1k1 0≤j2k2j1,j2j1j2i1=0i2=0I1j1,j2,n×EM=gM在Γ上,j∑k1−1∑k2−1bp1(x)bp2(y)wi i随着Silver-Müller辐射条件的无限大,可以从麦克斯韦方程组中推导出来。同样,边界值必须在迹线的意义上理解,参见[19]。附录B. 边界积分方程这三个边值问题(LP)、(HP)和(MP)都可以通过单层势分析来求解,即,设定1u(x)(ρ)(x)ρ(y)d σ,X(LS)Γ4π<$x−y<$2并由其控制点cj1,j2 ∈R3和权重wi1,i2>0. 对于NURBS的进一步概念和算法实现,我们参考[22]。附录D. 边界表示Bembel假设边界表示是几个补丁Γi的并集,即,γi:□ → Γi,其中,对于i = 1,2,. . . ,M,其中γ由指向外uH(x)=(S<$HρH)(x):=Γe−iκH<$x−y<$24π<$x−y<$2ρH(y)dσy, x∈σc,我正常边界本身就是所有面片ME (x)=(J )(x):=e−iκMΓ(y) D(协调制度)r=ri,i=1MS M M4π<$x−y<$2Mσy∫M其中交集Γi <$Γi′至多由一个公共的=1+ κ2αxe−iκM<$x−y<$2divJ (y)dΓ4π<$x−y<$2x∈C。(MS)顶点或公共边ii′。为了保证网格的一致性,Bembel还对参数化施加了以下匹配条件:对于每个x=γi(s)在Γi和Γi′的公共边上,必须存在可以证明,(LS)、(HS)和(MS)求解边界值适当密度函数的问题(LP)、(HP)和(MPρL、ρH和jM,参见[19,20]。使用适当的跟踪运算符,一个双射和仿射映射<$:□→ □,使得γi(s)=(γi′ε)(s).这意味着参数化γi和让ΓMσy,J. 德尔茨湖Harbrecht,S.Kurz等人粤公网安备44010802000016号7γi′除了取向外都在公共边上重合。8J. 德尔茨湖Harbrecht,S.Kurz等人粤公网安备44010802000016号=p,p×1122p,p11221212=我p,p1−1,1p2−1,2附录E. B样条边界元空间Galerkin方法的边界元空间构造为等几何多片B样条空间,参见[23]。Bembel使用等距节点向量<$1<$2,其中2 L 元件并且在每个方向上具有相同的多项式次数,即,p1p2,在单位广场上。因此,相应的样条空间由下式给出:S0(□)=Sp,([0,1])<$Sp,([0,1]),[6]Aimi A,Calabravan F,Diligenti M,Sampoli M,Sangalli G,Sestini A.基于IgA-SGBEM的B样条定制求积规则的高效组装。Comput.方法应用机械工程2018;331(补充C):327-42。[7]Dölz J,Harbrecht H,Kurz S,Schöps S,Wolf F.三维Laplace和Helmholtz问题的快速等几何边界元法。Comput.方法应用机械工程2018;330(补充C):83-101。[8][10]杨文,王文,王文.弱奇异积分方程自适应IGA边界元方法的最优收敛性。数字。数学2017;136:147-82.[9]杨文,李文.基于独立场近似的快速等几何边界元法。Comput.方法应用机械工程师2015;284(0):458-88。S1(□)=Sp,<$([0,1])<$Sp−1,<$′([0,1])×[10]Simpson RN,Bordas S,Trevelyan J,Rabczuk T.二维等值线图-Sp1−1,<$1′([0,1])<$Sp2,<$2([0,1]),S2(□)=S′([0,1])<$S′([0,1]),对于p =(p,p)和n =(n,n)。这 里 ,对于i = 1,2,2012年,第87比100[11]陶斯湾边界积分方程的等几何分析(Ph.D. 论文),德 克 萨 斯 大学奥斯汀分校; 2015。[12]TakahashiT,Matsumoto T.快速多极子方法的一个应用二维Laplace方程的等几何边界元法表示截断的节点向量,即,节点向量,第一个和最后一个元素。由于计算几何是用面片表示的,单位正方形上构造的空间可以很容易地通过Piola变换提升到边界上的补丁。在面片边界上强制连续性条件会产生一致的离散化尺寸. 肛门工程师 绑定 2012;36(12):1766-75。[13]Dölz J,Harbrecht H,Kurz S,Multerer M,Schöps S,Wolf F.班贝尔2019年,http://dx.doi.org/10.5281/zenodo.2671596,http://www.bembel.eu。[14]哈 布雷 希特 湾三 维边 界元 法的 小波Galerkin 格 式( 博 士学 位) 论文 ),Chemnitz工业大学;2001。[15]放大图片作者:Harbrecht H,Peters M. 参数曲面快速边界元法的比较。Comput.方法应用机械工程2013;261-262:39-55.[16]放大图片作者:J.基于插值的快速多极子0p,p1p,p2p,p(r)αH1/2(r),(Γ)<$H−1/2(divΓ,Γ),(Γ)<$H−1/2(Γ)。参数曲面上的高阶边界元法 内部J.努默。方法工程学2016;108(13):1705-28。[17]Dölz J,Kurz S,Schöps S,Wolf F.电磁学中的等几何边界元:严格分析、快速方法与实例。 SiamJ. Sci. Comput2019;41(5):B983-1010。[18]Guennebaud G,Jacob B,等.特征值v3。2010,http://eigen.tuxfamily.org。引用[1][10] 杨 文 辉 , 杨 文 辉 .用 BEM++ 求 解 边 界 积 分 问 题 。 ACM Trans. Math.Software2015;41(2):6:1-40.[2]Hiptmair H,Kielhorn L.一个通用的边界元模板库。Tech.代表,苏黎世联邦理工学院;2012年。[3]Hughes TJR , Cottrell JA , Bazilevs Y. 等 几 何 分 析 : CAD , 有 限 元 ,NURBS,精确几何和网格细化。Comput.方法应用机械工程2005;194(39):4135-95.[4]Spink M,Claxton D,de Falco C,Vázquez R.NURBS工具箱,http://octave.sourceforge.net/nurbs/index.html网站。[5]克里希纳穆尔蒂·宾格尔PIBS-python:Python中的开源面向对象NURBS建模框架。SoftwareX2019;9:85-94.[19]Buffa A,Hiptmair R.电磁散射的伽辽金边界元法。In:Ainsworth M,DaviesP,Duncan D,Rynne B,Martin P,editors.计算波传播专题。Springer;2003,p. 83 -124。[20]施泰因巴赫岛椭圆边值问题的数值逼近方法。New York:Springer ScienceBusiness; 2008.[21]SauterSA,Schwab C. R3中hp-Galerkin边界元法的求积. 数字。数学1997;78(2):211-58.[22]PieglL,Tiller W.NURBS的书。第二版Springer; 1997.[23]Buffa A,Dölz J,Kurz S,Schöps S,Vázquez R,Wolf F.等几何分析中deRham序列及其迹的多块逼近。数字。数学2020;144:201-36.SSS弹性静力分析的度量边界元法,卷。209-212
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功