CN109635493A - 一种基于并行运算的高效一阶摄动展开渐进均匀化方法 - Google Patents
一种基于并行运算的高效一阶摄动展开渐进均匀化方法 Download PDFInfo
- Publication number
- CN109635493A CN109635493A CN201811624392.3A CN201811624392A CN109635493A CN 109635493 A CN109635493 A CN 109635493A CN 201811624392 A CN201811624392 A CN 201811624392A CN 109635493 A CN109635493 A CN 109635493A
- Authority
- CN
- China
- Prior art keywords
- parallel
- order
- total
- matrix
- phase
- 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.)
- Granted
Links
- 238000000265 homogenisation Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 42
- 239000000463 material Substances 0.000 claims abstract description 18
- 239000011159 matrix material Substances 0.000 claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims abstract description 14
- 239000002131 composite material Substances 0.000 claims abstract description 12
- 230000000750 progressive effect Effects 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000005457 optimization Methods 0.000 claims description 7
- 238000006073 displacement reaction Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 claims description 4
- 230000017105 transposition Effects 0.000 claims description 2
- 230000010354 integration Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 239000002245 particle Substances 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000011248 coating agent Substances 0.000 description 2
- 238000000576 coating method Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000005524 ceramic coating Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种基于并行运算的高效一阶摄动展开渐进均匀化方法,包括:步骤1、根据实际材料结构域,确定随机变量来源及取值范围,建概率模型;步骤2、基于一阶摄动假设,在材料弹性本构柔度矩阵中引入第一步中所述的随机变量模型,基于OpenMP并行化计算方法,分解多相方法,生成多核并行运算求解器,并求逆得到刚度矩阵,将一阶项与零阶项分离;步骤3、基于第二步的求解结果,生成多相复合材料的整体宏观力学性能描述参数。
Description
技术领域
本发明涉及一种基于并行运算的高效一阶摄动展开渐进均匀化方法。
背景技术
随着科技进步,计算机从单核高频率向多核高效方向发展。单核高频因其耗能大、效率低被主流运算平台所抛弃,而多核处理器因其节约能耗、运算效率高等优点,在主流平台越来越普及。软件架构多核化、并行化成为如今一大趋势。但是,现存的原始的单核、单线程处理程序往往不能满足现在的处理运算的需求。随着通用并行化编程技术的发明,计算机并行化技术在各行各业广泛地应用成为可能。
在复合材料领域,由于复合材料本身的复杂特性,通过“设计、制造、验证”的方式来开发、生产新型复合材料往往成本较高。因此,计算机仿真方法的提出,使得设计者在设计复合材料时可以借助计算机强大的算力进行辅助设计,将传统“设计、制造、验证”流程转变为“设计、仿真、验证”,大大降低制造成本,节省优化时间周期。在仿真方法中,又以随机仿真方法更佳,其考虑了材料各种物理属性的随机分布特性,使得仿真结果更贴切实际。
然而,随机仿真方法涉及参数众多,计算量复杂,使得优化过程往往耗时过长,增加了设计和优化成本。如何加快仿真运算速度,尽早求解出关键力学量,成了研究人员重点关注的问题。
因此,本发明提出一种基于并行运算的高效一阶摄动展开渐进均匀化方法,能够根据多相复合材料的微观随机参数,并行高效地求解出材料整体宏观力学性能。
发明内容
本发明技术方案所解决的技术问题为:如何高效快速地求解一阶摄动展开渐进均匀化方法,以增加该方法的实用性和适用广度。
为了解决上述技术问题,本发明采用如下的技术方案
一种基于并行运算的高效一阶摄动展开渐进均匀化方法,包括:
步骤1、根据实际材料结构域,确定随机变量来源及取值范围,建概率模型;
步骤2、基于一阶摄动假设,在材料弹性本构柔度矩阵中引入第一步中所述的随机变量模型,基于OpenMP并行化计算方法,分解多相方法,生成多核并行运算求解器,并求逆得到刚度矩阵,将一阶项与零阶项分离;
步骤3、基于第二步的求解结果,生成多相复合材料的整体宏观力学性能描述参数。
步骤2.1、对一阶摄动展开渐进均匀化方法中的维度进行动态分析,对0阶的情况基于公式:
进行计算求解,式中是特征位移向量,矩阵[B]是应变位移矩阵,矩阵[D]是弹性矩阵,式中的数字0均代表材料的0阶情况,中括号的幂指数-1表示求逆,积分下标Y为代表体积单元。TDOF为Total Degree of Freedom,即节点位移的总自由度,所获得的分析维度为TDOF*TDOF与TDOF,
对于1阶多相的情况,基于以下公式:
其中,中的上标1表示一阶摄动项,下标1、2分别代表第1相、第2相的材料域,上下标物理含义后面以此类推,第1相、第2相的材料域体积用Y1、Y2表示,T表示矩阵转置,所获得的1相、2相的分析维度为TDOF*TDOF与TDOF,
以此类推,n相的情况为:
步骤2.2、基于分析的维度,自动将循环求解器转换为并行迭代求解器
设获取的分析维度由如下公式表示:
式中,ndim表示一维并行度,nsqdim表示二维并行度,p表示迭代并行维度。则每个并行单元为一个小求解单元,则总的并行度ptotal由下列公式确定:
ptotal=(nsqdim+ndim)·p
则原来的迭代求解器可通过该式转化为由OpenMP并行技术支持的并行求和器,进行数值求解;
步骤2.3、转化后的并行求和器会根据系统自身的硬件条件(CPU、内存),自动选择最佳的并行数量,以充分利用系统资源,
假设系统核数为ncore、单核的单位元算力为c,则多核单位时间算力为:
ctotal=ncorec
则并行优化前的总计算时间为:
优化后的总计算时间为:
总计算时间为原方法的
初始设定为每相占用一个线程,程序在多次运行后,会根据当前系统处理器情况,自动选择最佳线程数。
为解决所述的基于并行计算的一阶摄动展开渐进均匀化方法的普适性问题,本发明将该并行化后的求解方法通过动态链接库DLL(Dynamic Link Library)进行封装。封装后的代码单独生成一个DLL文件,用户可将该文件加入系统环境路径进行全局调用,也可以嵌入到自己的程序中进行使用。动态链接库DLL的封装,提高了程序的普适性、增强的了方法的平台化水平,在新的软件或平台使用所述的基于并行计算的一阶摄动展开渐进均匀化方法时,不需要工程师辅助或对整个程序进行重新编译,节省了咨询时间和程序编译时间,方便在各大有限元等运算平台部署该方法。
整个平台的核心方法采用DLL(Dynamic Link Library)动态链接库封装,可以动态从单机多核并行计算向多机集群计算扩展,不必重新编译程序。动态链接库分为x86系统版本和x64系统版本,以对应不同的CPU架构,并预留了入口函数ENTERFUNC。
附图说明
图1是本发明算法设计流程图。
图2是数值算例-涂层粒子复合材料的几何模型图。
图3是输入文件样例。
图4是用户界面样例。
图5是PYTHON调用本平台方法样例。
图6是C++调用本平台方法样例。
图7是生成可执行文件输出样例
图8是生成文件样例
具体实施方式
本发明的一个实施算例为,假设所设计的复合材料代表体积单元为图2所示,在涂层、粒子、基体组成的三相复合材料中,基体材料为高分子聚合物,由于制造过程不精确性,其杨氏模量假设为正态分布N(16GPa,0.012),粒子材料为气体类物质N(400GPa,0.012),涂层材料为一种陶瓷涂层N(80GPa,0.032)
根据材料的组分,可以分解出所需的单元参数,将参数转化为方法平台的输入文件格式,输入文件的例子如图3所示。
生成输入文件后,可以运用多种方式利用本平台计算复合材料的性能参数:
本发明的一个实施方式为,直接采用平台自带的UI界面,调用本发明所述平台中的基于并行计算的一阶摄动展开渐进均匀化方法。
双击本平台所示的可执行文件后,其UI界面的例子如图4所示。
本发明的一个实施方式为,使用Python语言调用所述的基于并行计算的一阶摄动展开渐进均匀化方法。采用Python语言的ctypes包,和ctypes包下的cdll组件,可以实现对所述平台的动态链接库DLL调用。首先载入DLL信息,接着使用ctypes类对入口函数进行类型描述,最后进行函数调用,即可在终端输入窗口看到材料求解过程以及方法平台的运行状态。基于Python语言调用的一个样例如图5所示。
本发明的一个实施方式为,使用C++语言调用所述的基于并行计算的一阶摄动展开渐进均匀化方法。采用Windows.h头文件以及标准头文件,可以实现C++对所述的方法平台的调用。首先使用LoadLibrary方法,获取到相应路径的动态链接库DLL文件,将本平台核心算法部件载入内存后,使用GetProcAddress方法获取入口函数的函数指针,并将其映射到C++定义的方法,然后输入相应参数进行调用。一个代码调用的例子如图6所示。
使用C++可以生成可执行文件,一个调用的执行例子如图7所示。
最后输出文件的例子如图8所示。
以上所述,仅为本发明中的部分具体实施方式,但本发明的保护范围并不局限于此,凡是依据本发明中的设计精神所做出的等效变化或修饰或等比例放大或缩小等,都应涵盖在本发明的保护范围之内。
Claims (2)
1.一种基于并行运算的高效一阶摄动展开渐进均匀化方法,其特征在于,包括:
步骤1、根据实际材料结构域,确定随机变量来源及取值范围,建概率模型;
步骤2、基于一阶摄动假设,在材料弹性本构柔度矩阵中引入第一步中所述的随机变量模型,基于OpenMP并行化计算方法,分解多相方法,生成多核并行运算求解器,并求逆得到刚度矩阵,将一阶项与零阶项分离;
步骤3、基于第二步的求解结果,生成多相复合材料的整体宏观力学性能描述参数。
2.如权利要求1所述的基于并行运算的高效一阶摄动展开渐进均匀化方法,其特征在于,步骤2包括:
步骤2.1、对一阶摄动展开渐进均匀化方法中的维度进行动态分析,对0阶的情况基于公式:
进行计算求解,式中是特征位移向量,矩阵[B]是应变位移矩阵,矩阵[D]是弹性矩阵,式中的数字0均代表材料的0阶情况,中括号的幂指数-1表示求逆,积分下标Y为代表体积单元,TDOF为Total Degree of Freedom,即节点位移的总自由度,所获得的分析维度为TDOF*TDOF与TDOF,
对于1阶多相的情况,基于以下公式:
其中,中的上标1表示一阶摄动项,下标1、2分别代表第1相、第2相的材料域,上下标物理含义后面以此类推,第1相、第2相的材料域体积用Y1、Y2表示,T表示矩阵转置,所获得的1相、2相的分析维度为TDOF*TDOF与TDOF,
以此类推,n相的情况为:
步骤2.2、基于分析的维度,自动将循环求解器转换为并行迭代求解器设获取的分析维度由如下公式表示:
式中,ndim表示一维并行度,nsqdim表示二维并行度,p表示迭代并行维度。则每个并行单元为一个小求解单元,则总的并行度ptotal由下列公式确定:
ptotal=(nsqdim+ndim)·p
则原来的迭代求解器可通过该式转化为由OpenMP并行技术支持的并行求和器,进行数值求解;
步骤2.3、转化后的并行求和器会根据系统自身的硬件条件,自动选择最佳的并行数量,
假设系统核数为ncore、单核的单位元算力为c,则多核单位时间算力为:
ctotal=ncorec
则并行优化前的总计算时间为:
优化后的总计算时间为:
总计算时间为原方法的
初始设定为每相占用一个线程,程序在多次运行后,会根据当前系统处理器情况,自动选择最佳线程数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811624392.3A CN109635493B (zh) | 2018-12-28 | 2018-12-28 | 一种基于并行运算的高效一阶摄动展开渐进均匀化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811624392.3A CN109635493B (zh) | 2018-12-28 | 2018-12-28 | 一种基于并行运算的高效一阶摄动展开渐进均匀化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109635493A true CN109635493A (zh) | 2019-04-16 |
CN109635493B CN109635493B (zh) | 2023-02-07 |
Family
ID=66078801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811624392.3A Active CN109635493B (zh) | 2018-12-28 | 2018-12-28 | 一种基于并行运算的高效一阶摄动展开渐进均匀化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109635493B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408019A (zh) * | 2014-10-29 | 2015-03-11 | 浪潮电子信息产业股份有限公司 | 一种基于mic平台实现gmres算法并行加速的方法 |
US20170061047A1 (en) * | 2015-08-24 | 2017-03-02 | Sas Ip, Inc. | Processor-Implemented Systems and Methods for Time Domain Decomposition Transient Simulation |
CN106570204A (zh) * | 2016-09-23 | 2017-04-19 | 西安交通大学 | 一种基于cpu+gpu异构并行计算的透平机械叶片静强度特性分析方法 |
CN108153962A (zh) * | 2017-12-22 | 2018-06-12 | 北京工业大学 | 随机分布复合材料弹性本构矩阵预测的统计的一阶摄动展开渐进均匀化方法 |
-
2018
- 2018-12-28 CN CN201811624392.3A patent/CN109635493B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408019A (zh) * | 2014-10-29 | 2015-03-11 | 浪潮电子信息产业股份有限公司 | 一种基于mic平台实现gmres算法并行加速的方法 |
US20170061047A1 (en) * | 2015-08-24 | 2017-03-02 | Sas Ip, Inc. | Processor-Implemented Systems and Methods for Time Domain Decomposition Transient Simulation |
CN106570204A (zh) * | 2016-09-23 | 2017-04-19 | 西安交通大学 | 一种基于cpu+gpu异构并行计算的透平机械叶片静强度特性分析方法 |
CN108153962A (zh) * | 2017-12-22 | 2018-06-12 | 北京工业大学 | 随机分布复合材料弹性本构矩阵预测的统计的一阶摄动展开渐进均匀化方法 |
Non-Patent Citations (3)
Title |
---|
PIN WEN等: "Probabilistic multiscale analysis of three-phase composite material considering uncertainties in both physical and geometrical parameters at microscale", 《ACTA MECHANICA》 * |
张瑾等: "基于摄动传递矩阵法的随机参数系统振动分析", 《机械设计》 * |
曹大志等: "基于OpenMP和Pardiso的柔性多体系统动力学并行计算", 《清华大学学报(自然科学版)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109635493B (zh) | 2023-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ferrandi et al. | Bambu: an open-source research framework for the high-level synthesis of complex applications | |
Valiant | A bridging model for multi-core computing | |
US7818730B1 (en) | Automatic minimal build dependency determination and building an executable with source code | |
Shen et al. | Dataflow-based design and implementation of image processing applications | |
Koelbl et al. | Constructing efficient formal models from high-level descriptions using symbolic simulation | |
Froehlich et al. | Generation of verified programs for in-memory computing | |
do Nascimento et al. | Modes: Embedded systems design methodology and tools based on mde | |
CN109635493B (zh) | 一种基于并行运算的高效一阶摄动展开渐进均匀化方法 | |
Chandraiah et al. | Code and data structure partitioning for parallel and flexible MPSoC specification using designer-controlled recoding | |
Goudarzi et al. | Object-Oriented ASIP Design and Synthesis. | |
Agron et al. | Building heterogeneous reconfigurable systems with a hardware microkernel | |
Cartwright et al. | Automating the design of mlut mpsopc fpgas in the cloud | |
Ma et al. | Archborn: an open source tool for automated generation of chip heterogeneous multiprocessor architectures | |
Bishnu et al. | Comparing the Performance of Julia on CPUs versus GPUs and Julia-MPI versus Fortran-MPI: a case study with MPAS-Ocean (Version 7.1) | |
Pope et al. | Bifröst: Creating Hardware With Building Blocks | |
JP2018041301A (ja) | Rtl最適化システム及びrtl最適化プログラム | |
Guesmi et al. | Translating of matlab/simulinlk model to synchronous dataflow graph for parallelism analysis and programming embedded multicore systems | |
Clucas et al. | CAPP: A C++ aspect-oriented based framework for parallel programming with OpenCL | |
Grigoras et al. | Dfesnippets: An open-source library for dataflow acceleration on FPGAs | |
Sun et al. | A generalized framework for integrating machine learning into computational fluid dynamics | |
Barve et al. | Parallelism in C++ programs targeting objects | |
Wang et al. | A simple model for certifying assembly programs with first-class function pointers | |
Arshad et al. | A definition and analysis of the role of meta-workflows in workflow interoperability | |
Wu | Modeling and mapping of optimized schedules for embedded signal processing systems | |
Meena et al. | Hardware Analysis on NVDLA Using RESNET50 |
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 |