没有合适的资源?快使用搜索试试~ 我知道了~
MOOSE:实现大规模多物理场仿真操作的开源软件框架
SoftwareX 11(2020)100430原始软件出版物MOOSE:实现大规模并行多物理场仿真科迪·J放大图片作者:John A.放大图片创作者:John A.放大图片作者:Carlsena,FandeKonga,Alexander D.放大图片作者:Jason M. Millera,John W.放大图片创作者:Andrew E.屠宰a,罗伊·H放大图片作者:Richard C.马蒂诺aa计算框架,爱达荷国家实验室,爱达荷福尔斯,ID,83415,美利坚合众国b德克萨斯大学奥斯汀分校计算与工程科学研究所,美利坚合众国,德克萨斯州,奥斯汀,78712。cAkselos Inc.,2101 West Blvd.,Houston,TX,77042,美国ar t i cl e i nf o文章历史记录:收到2019年收到修订版,2020年2月17日接受,2020年关键词:框架元并行多物理场多尺度a b st ra ct利用现代并行计算资源来实现复杂的多物理场模拟是一项艰巨的任务。多物理场面向对象仿真环境(MOOSE)旨在通过为偏微分方程、边界条件、材料特性和仿真的所有方面的规范提供简化的接口来实现这种开发,而无需考虑内部处理的并行、自适应、非线性有限元求解。通过使用接口和继承,仿真的每个部分都可以重用和组合,从而允许不同的研究小组共享代码,并创建一个不断增长的能力的生态系统,降低创建多物理场仿真代码的障碍该框架包括一个独特的能力,通过同时执行多个子应用程序,在尺度之间传输数据,构建多尺度,多物理场模拟。其他功能包括自动微分,扩展到大量的处理器,混合并行,网格自适应。到目前为止,基于MOOSE的应用程序已经在科学和工程领域创建,如核物理、地热科学、磁流体动力学、地震事件、可压缩和不可压缩流体流动、微结构演化和先进制造工艺。©2020作者由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本0.9.0-pre指向代码/此代码版本使用的存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX_2019_293法律代码许可证GNU LGPL 2.1使用git的代码版本控制系统软件代码语言、工具和服务使用C++、Python编译要求、操作环境依赖性GCC 4.8.4+ Clang 3.5.1+内存:16GB+磁盘:30GB+操作系统:Mac OS 10.13+开发:MPI、PETSc、Hypre、libMesh如果可用,链接到开发人员文档/手册https://mooseframework.org问题支持电子邮件moose-users@googlegroups.com*通讯作者。电子邮件地址:cody. inl.gov(C. J. Permann),derek.inl.gov(D.R.加斯顿)。https://doi.org/10.1016/j.softx.2020.1004301. 动机和意义随着计算能力的提高,科学家们正在探索涉及多个科学领域的复杂问题的计算解决方案。这些多物理场问题联系在一起2352-7110/©2020作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx2C.J. Permann,D.R.Gaston,D.安德烈等人粤公网安备44010802000110号许多学科,并涉及具有特定知识的合作者。传统的多物理场仿真是通过连接不同研究人员开发的各个仿真工具来实现的,这不仅耗时、易出错,而且不利于利用现代并行计算的优势。多物理场面向对象仿真环境(MOOSE)[1]专注于为此类软件的开发提供该框架提供了一个插件基础设施,简化了物理,材料属性,多物理场耦合和后处理的定义。该设计允许开发人员专注于他们的科学努力,而无需来理解现代并行计算的复杂性。此外,问题规范的一致性导致最大化的基于MOOSE的项目可以共享功能,而无需额外的开发。这一理想是通过一种设计模式实现的这一概念为跨开发团队的协作开辟了新的可能性,以构建可以无缝组合的强大仿真工具这一战略是多个科学学科的范式转变[2其他几个开源有限元方法(FEM)框架确实存在,每个框架都为用户提供了一组不同的权衡和能力。FEniCS [9]和Firedrake [10]都为有限元(FE)建模提供了紧凑简洁的抽象,同时利用了PETSc [11,12]的行业标准高性能求解器MFEM [13]和deal.ii [14]都允许极大的灵活性,同时让开发人员负责构建完整的C++应用程序,同时使用来自这些库之一的接口。此外,deal.ii包含了这些项目中最大和最全面的教程集之一。基于MOOSE的应用程序还允许简洁的抽象的基本方程,同时允许用户使用灵活的扩展点,包括一个完整的C++应用程序,如果开发人员认为合适。此外,MOOSE包含一组社区开发的物理模块,可以利用这些模块来构建复杂的多物理场模拟,而无需重新开发通常用于模拟各种现象的方程组。最后,MOOSE通过提供几种开箱即用的耦合策略、用于耦合到现有应用程序的工具以及一组适用于各种耦合策略的解决方案传输功能来关注多物理场每一个都将在本文中进一步讨论。MOOSE提供了几种独特的功能,在简要介绍后将简要强调这些功能。2. 软件描述2.1. 软件构架MOOSE旨在促进创建生产FEM工具,以运行高保真多物理场仿真。 该软件由“系统”组成,每个系统都为定义仿真特性提供了一个扩展点。这些系统使用接口进行通信,将它们解耦以允许更大的代码重用。MOOSE中的每个系统都有一个特定的C++基类,应用程序开发人员从该基类继承并扩展以执行所需的计算,覆盖虚拟方法以执行该应用程序所需的唯一计算。这种方法有两个优点;最重要的是,应用程序开发人员可以完全控制使用标准C++的计算,如果需要偏离规定的模板。 其次,继承链可以扩展到框架提供的基线之外,为下游应用提供丰富的功能。MOOSE有大约40个系统可以扩展。单独讨论其中的每一个都超出了本文的范围,但 提供该框架的核心功能的系统可以分成三组:PDE相关术语、材料特性和原位后处理。定义偏微分方程项的两个系统是核系统和边界条件系统。核对象定义体积分项,而BoundaryCondition对象定义从FEM推导中产生的表面积分项弱形式[15]。例如,清单1中的C++代码片段是PDE的平流项的实现示例。这个例子说明了内核系统,它支持自动微分(AD)(见2.2节)。必须扩展单个方法,precomputeQpResidual。清单1:显示PDE中平流项计算的内核模板ComputeStage computer_stage> ADRealAdvection compute_stage >::precomputeQpResidual(){}返回 _ v速度[ _qp ] intn [n];这是定义方程项的强大方法。通过定义一种方法,该平流算子可以在1D、2D或3D中使用。它可以利用恒定速度,耦合到通过求解另一个PDE计算的场,利用从另一个应用程序计算的场,甚至使用来自实验的速度场。该内核将在一个处理器上或并行工作10万元,不做任何修改。任何需要这个术语的应用程序都可以重用这个对象,而不需要重新编码它。也可以以受控的、隔离的方式对其进行测试以确保正确性。材料系统允许定义“材料属性”,通常表示PDE中的系数。这些道具-误差可以是非线性的,并且其本身可以取决于PDE中的变量。这种依赖性可以使用框架的AD能力自动传播到系统雅可比矩阵。一旦被定义,材料属性就可以通过直接的生产者/消费者模型被框架中的其他系统然后,MOOSE确保在这些对象需要时计算这些属性。材料属性可以耦合到其他材料属性并依赖于其他材料属性;跟踪相互依赖性,并以正确的顺序执行计算。这种设计将物理计算从所需的系数中分离出来,允许共享并且在应用程序内和跨应用程序重用,而不需要编辑使用该属性的代码对象。术 语 本 类 别 中 的 系 统包 括的后 处 理 器 ,VectorPostprocessor,和 核心系统。 的 后处理器和向量-后处理器系统计算标量和向量值,重新计算(例如,通过一侧的总热通量或总化学通量,浓度)。 这些计算本身可以取决于其他变量、材料属性或其他后处理值。MOOSE包含几个实用程序,以帮助在后处理阶段进行必要的并行聚合、广播和分散。该内核系统允许计算的“场”或空间变化的数据使用有限元基函数。原位后处理使计算能够在大规模运行时并行执行。 这些值可以反馈到其他系统中,包括PDE的计算C.J. Permann,D.R.Gaston,D.安德烈等人粤公网安备44010802000110号3术语或材料属性。该系统还可用于在模拟运行时生成现场数据的可视化图像。该框架的系统和接口架构允许应用程序开发人员构建能够解决任何问题,从基本的单一物理问题到广泛的,跨学科的多物理问题,只有多个开发团队才能实现。由此产生的应用程序,不管复杂性如何,都很容易扩展,对研究团队和分析师都很有用。MOOSE支持几种耦合机制:松散(交错),紧密(迭代)和完整(单石)[7,16],有几种方法来定制每种类型的模拟行为。耦合物理不需要共享相同的网格或离散化,或者甚至存在于相同的空间或时间尺度上。Picard或固定点迭代可用于收敛非线性,而内置或定制逻辑可用于在多个耦合模拟之间传送存储器中的数据。2.2. 软件功能2.2.1. 并行性MOOSE旨在支持涉及许多物理现象的高度并行计算并行功能是 implemented 使 用 一 个 混 合 的 方 法 , 包 括 消 息 传 递 接 口(MPI)调用可选的共享内存线程节点上可用。传统上,并行计算是复杂的,涉及许多低级别的串行化,并行化和显式通信例程。MOOSE为并行性提供了一个抽象的抽象,要求应用程序开发人员对并行结构有最少的了解(如果有的话此外,该框架支持高级网格预分割网格可以高效地并行读取,减少启动时间和内存使用非常大的模拟。预拆分功能用于保持每个内核的内存消耗合理(根据处理器数量减少两到三个数量级十亿元网格[8]。该框架的可扩展性已被证明可用于现代超级计算机上的30,000多个处理器核心,用于多种应用,包括使用相场方法的微结构演化[17]和中子输运[18]。例如,一个缩放研究如图所示 。 1 的 三 维 晶 粒 生 长 模 型 的 基 础 上 相 场 方 程 。 采 用 一 阶Lagrange有限元法,在78,643,200个六面体单元和79,300,033个节点的三维网格上,用25个晶粒和9阶参数离散相场方程由此产生的系统有713,700,297个未知数,并通过无JacobianNewton-Krylov(JFNK)[19]方法,采用GMRES [20]和Schwarz预处理器[21,22]求解。该测试是在阿贡国家实验室的Theta超级计算机上使用8,192和32,768之间的处理器计数进行的[23]。该测试的更多细节可以在[17,18]中找到2.2.2. 自动微分(AD)使用牛顿法的非线性方程组的有效解当这个矩阵是近似,imated通过矩阵的方法,准确的预处理可能仍然需要有效的线性收敛。生成精确的雅可比矩阵或预条件子可能是困难且容易出错的任务。为了减轻应用程序开发人员的负担,MOOSE实现了前向模式AD。使用这种能力,应用程序开发人员只需实现剩余语句,Fig. 1. 使用多达32,768个处理器内核的MOOSE扩展研究。每个数据点都标注了总计算时间和并行效率。 总计算时间不包括输入/输出成本和网格准备。减少了实现新物理对象所需的代码量和时间。因此,可以更有信心地在应用程序之间共享物理代码。通过这种方式,AD增强了基于MOOSE的应用程序的模块化。2.2.3. 子应用MOOSE的架构允许单独开发的物理仿真工具通过MultiApp系统无缝集成。举个例子,两个不同的研究小组可能各自专注于一个问题的不同方面:一个是工程师-一个是微观组织演化模拟。 使用MOOSE,这两个应用程序可以以统一而灵活的方式开发。这两个研究小组可以独立工作,专注于各自的规模。当需要更高保真的耦合模拟时,这两个应用程序可以一起编译,并且可以使用独特的MultiApp和Transfer系统执行多尺度模拟,而无需开发额外的代码将应用程序链接在一起[7]。没有构建在MOOSE框架上的现有应用程序可以通过实现最小接口来2.2.4. 重启该框架包括一个重启系统,允许将模拟的所有方面存储在内存中或输出到检查点文件。这允许单个应用程序在意外故障(例如,停电),在多个应用程序之间进行迭代求解时恢复(参见上面的子应用程序),以及为大型问题创建复杂的多阶段初始化值得注意的是,该系统是可扩展的,使得用户定义的数据结构可以在这些场景中的每一个中需要时以及在大规模运行时被存储和重新加载。2.2.5. 测试、可视化和文档仅仅一个模块化框架不足以创建强大而有用的科学模拟工具。MOOSE还包括用于测试、可视化和文档的基础架构,这些基础架构与框架一起被称为“MOOSE平台”。与框架一样,这些实用程序中的每一个都是用类似的体系结构设计的,并且是模块化和可扩展的,允许应用程序开发人员定制这些工具。测试系统包括用于创建单元测试、回归测试和系统测试的工具,包括错误条件和并行一致性测试。图形用户界面(GUI)设计用于包含扩展对象和自定义语法的衍生应用程序。GUI的可视化核心可以是4C.J. Permann,D.R.Gaston,D.安德烈等人粤公网安备44010802000110号= −=图二. 热机械问题模拟58秒后的结果,其中反馈来自微结构计算,显示了工程规模下的温度、每个退化微结构的几何形状以及每个微结构计算随时间的有效热导率创建复杂的可视化。最后,文档系统使用单源标记文件来创建网站、演示文稿或LATEX文档,并且能够检查交叉引用的一致性,源代码进化3. 说明性示例MOOSE能够解决复杂的多物理场问题,包括具有高度可变的空间和时间尺度的系统。例如,图中的结果。2耦合工程规模探针LEM涉及微观结构尺度计算。工程规模的物理学是多孔流,使用达西方程在圆柱体内建模,圆柱体的每一端都连接到具有规定温度的容器上,压力该模拟使用基于牛顿的完全耦合求解方法分别求解压力、温度和热致应变的质量、能量和动量平衡方程。在每个时间步,进行一组微结构计算,解析紧密堆积的球体。这些球体正在降解,导致渗透性随时间推移而增加。降解速率随温度增加而增加,导致工程规模下的有效热导率发生变化。求解的具体步骤如下:1. 在时间t1,温度的解被初始化为300 ℃,压力和位移被设置为零;有效导热系数被设置为水中紧密堆积的钢球的已知值2. 工程规模的问题是解决了0.25 s的时间步长(直到t0)。在这些步骤中,温度和压力边界条件分别线性增加到350 ℃和4000 Pa。3. 工程问题计算时间步长的解,在沿着域的六个均匀间隔的点处对温度进行采样,并设置相应的微结构计算的温度。4. 微结构应用程序使用来自工程秤应用程序的温度计算钢球的退化,然后基于变化的几何形状计算有效导热系数。然后将得到的有效导热系数使用线性插值应用于工程规模的热传导计算。5. 重复步骤3-4. 影响软件开发正日益成为科学过程中不可或缺的一部分。目前,科学家和工程师开发自己的软件,花费大约30%的时间编写代码。这些领域科学家通常不遵循代码重用的最佳实践[28],这可能会导致软件的不断重新发明,因为新的研究人员继承了上一代人留下的不透明的通过提供遵循科学计算最佳实践的框架,可以帮助研究人员克服这些缺点,以提高科学研究的质量。在框架中建立信任不仅仅是利用最佳实践;同样重要的是,框架本身构建在可信工具的基础上。为这就是为什么MOOSE依赖于libMesh [29]的成熟代码库用于有限元 , 而 PETSc [11 , 12] 用 于 前 沿 数 值 方 法 / 求 解 器 。 此 外 ,MOOSE本身也接受了多次同行评审和软件质量保证(SQA)审计。MOOSE被政府、私营企业和大学在国内和国际上使用。例如,MOOSE用于耦合外部和基于MOOSE的多个核能代码[4,24,30];它用于模拟3D裂缝多孔介质中的多孔流[31];并且是模拟地下勘探的多个努力的基础[5,325. 结论MOOSE是一个软件框架,它允许科学家开发最先进的、可扩展的应用程序,而无需担心并行、有限元或求解器的实现细节。此外,MOOSE的模块化设计允许这些应用程序很容易地结合起来,鼓励重用和简化多尺度,多物理场模拟的该框架吸引了一个相当大的研究社区,推动了科学计算的前沿,在数万个处理器上解决了数百亿个未知数的PDEMOOSE开发继续专注于强大的高性能解决方案算法,这些算法适用于从串行到数十万个进程的广泛规模竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作C.J. Permann,D.R.Gaston,D.安德烈等人粤公网安备44010802000110号5致谢这项工作得到了多个项目和组织的资助:爱达荷国家实验室LDRD项目和美国能源部核能高级建模与模拟和联盟轻水反应堆高级模拟项目。这项研究利用了INL高性能计算中心的资源。本手稿由Battelle Energy Alliance,LLC根据与美国能源部签订的合同编号DE-AC 07 - 05 ID 14517撰写。美国政府保留和出版商,通过接受出版的文章,承认美国政府保留一个非排他性的,付费的,不可撤销的,世界范围内的许可,出版或复制本手稿的出版形式,或允许他人这样做,为美国政府的目的。引用[1][10]杨晓,王晓. MOOSE:一个非线性方程耦合系统的并行计算框架。核工程2009;239(10):1768-78。[2]Keyes DE,McInnes LC,Woodward C,Gropp W,Myra E,Pernice M,等 . 多 物 理 场 模 拟 : 挑 战 和 机 遇 。 Int J High PerformanceComputAppl2013;27(1):4-83.[3]Tonks MR,Gaston D,Millett PC,Andrs D,Talbot P.多物理场相场模拟的面向对象有限元框架。ComputMater Sci2012;51(1):20-9.[4]Ortensi J,DeHart MD,Gleicher FN,Wang Y,Schunert S,Alberti AL,et al. 在MAMMOTH中使用Rattlesnake/BISON耦合的全核心TREAT动力学演示。技术报告,爱达荷国家实验室。(INL),IdahoFalls,ID(美国);2015.[5]Lesueur M,Casadiego MC,Poulet T,Veveakis M.变形岩石多尺度流动模拟框架。参加:地质材料分叉和退化问题国际研讨会。Springer; 2017,p. 475比80[6]Nakhmanson S,Mangeri J,Pitike K,Kuna L,Jokisaari A,Alpay S,et al.Ferret : an open-source code for simulating crystical evolution and phasetransformations in complex materials systems at mesoscale.在:APS三月会议摘要; 2017年。[7]Gaston DR , Permann CJ , Peterson JW , Slaughter AE , Andravid D ,Wang Y,et al. 全堆芯核反应堆模拟的基于物理的多尺度耦合。Ann NuclEnergy2014.[8] Gaston博士,并行,异步射线追踪,用于非结构化网格上特征中子输运的可扩展,3D,全核心方法(博士学位)。论文),麻省理 工 学院; 2019年。[9]Alnæs MS,Blechta J,Hake J,Johansson A,Kehlet B,Logg A,et al. Thefenicsprojectversion 1.5. Arch Numer Softw 2015;3(100).[10]Rathgeber F,Ham DA,Mitchell L,Lange M,Luporini F,Mcrae ATT,etal.Firedrake:Automatingthefiniteelementmethodbycomposingabstractions. ACM Trans Math Software 2016;43(3):24:1-27.[11][10] Balay S,Abhyankar S,Adams MF,Brown J,Brune P,BuschelmanK,et al. PETSc用户手册。技术报告,ANL-95/11 -修订版3.11,阿贡国家实验室;2019年。[12]Balay S,Gropp WD,McInnes LC,Smith BF.面向对象数值软件库中并行性的有效管理。In:Arge E,Bruaset AM,Langtangen HP,editors.科学计算中的现代软件工具Birkhäuser Press; 1997,p.163-202.[13]张文,张文,等.有限元法的基本原理及应用.北京:清华大学出版社,2000,24(1):117 - 118. 2019年,arXiv预印本arXiv:1911.09220。[14]吴 伟 , 王 伟 , 王 伟 .一 个 通 用 的 面 向 对 象 的 有 限 元 库 。 ACM TransMathSoftw2007;33(4):24.[15]作者:J.有限元素的基础课程Wiley; 2007.[16][10]李晓,李晓.用BISON进行核燃料性能模拟的紧耦合和松耦合多物理场的结果。 技术报告,爱达荷国家实验室(INL);2013年。[17]Kong F,Stogner RH,Gaston DR,Peterson JW,Permann CJ,SlaughterAE,A general-purpose hierarchical mesh partitioning method withnodebalancing strategies for large-scale numerical simulations. 2018年IEEE/ACM第9届研讨会,关于大规模系统可扩展算法(ScalA)的最新进展。IEEE;2018,p.六十五比七十二[18]Kong F,Wang Y,Schunert S,Peterson JW,Permann CJ,Andravid D,et al.瞬态多群中子扩散方程基于光滑凝聚的全耦合两能级Schwarz预条件子。 NumerLinear Algebra Appl 2018;25(3). e2162。[19]Knoll DA,Keyes DE. Jacobian-free Newton-Krylov方法:方法与应用综述。J Comput Phys2004;193(2):357-97.[20]Saad Y,Schultz MH. GMRES:求解非对称线性方程组的一种广义极小残差算法. SIAM J Sci Stat Comput1986;7(3):856-69.[21]孔F,蔡晓春.三维弹性力学问题的一种具有边界几何保持粗糙空间的高度可扩展的多层Schwarz方法。SIAM J Sci Comput2016;38(2):C73-95.[22]作者:Smith B,Bjorstad P,Gropp W.区域分解:椭圆型偏微分方程的并行多级方法。北京:清华大学出版社.[23]阿贡国家实验室领导计算设施。[24]Martineau R,Andrín D,Carlsen R,Gaston D,Hansel J,Kong F,et al.使用内聚计算框架的核能应用多物理学。在:多物理核能应用程序使用内聚计算框架。ANS;2019年。[25]Novak A,Romano P,Wendt 乙、 拉哈曼 R, 梅尔扎里 E, Kerby L、OpenMC和Nek5000在MOOSE框架内的初步耦合。在:PHYSOR的程序; 2018。[26]Pamuk MT,Özdemir M.填充球多孔介质振荡流的摩擦系数、渗透率和惯性系数。Exp Therm FluidSci2012;38:134-9.[27]Wilson G,Aruliah D,Brown CT,Hong NPC,Davis M,Guy RT等,科学计算的最佳实践。PLoS Biol 2014;12(1). e1001745。[28]放大图片作者:Morisio M,Ezran M,Tully C.软件复用中的成功与失败因素。IEEE Trans Softw Eng2002;28(4):340-57.[29]Kirk BS,Peterson JW,Stogner RH,Carey GF.libMesh:一个C++库用于并行自适应网格细化/粗化模拟。工程计算2006;22(3-4):237-54. http://dx.doi.org/10.1007/s00366-006-0049-3网站。[30]DeHart MD,Ortensi J,Gleicher FN,Wang Y,Schunert S,Baker BA.支持在MAMMOTH中使用Rattlesnake/BISON耦合进行TREAT动力学计算的研究。技术报告,爱达荷国家实验室。(INL),IdahoFalls,ID(美国);2016.[31]Schädle P,Zulian P,Vogler D,Bhopalam RS,Nestola MG,Ebigbo A,et al. 基于拉格朗日乘子的裂隙多孔介质三维非协调网格模型Comput Geosci2019.[32]放大图片作者:Ennis-King J,La Force T,Wilkins A. 模拟CO2储存的社区代码:使用开源多物理场框架MOOSE耦合地质力学和地球化学模拟多相流。第14届温室气体控制技术会议在墨尔本举行。2018.第21- 26页。[33]Poulet T,Schaubs P,Rachakonda PK,Douglas G,Lester D,Metcalfe G,etal. The CSIRO Groundwater Cooling Project - Cooling Australia[34]李国平,李国平,李国平.下一代资源发现将地球物理传感、建模和解释相结合。ASEG ExtAbstr2016;2016(1):1-5.
下载后可阅读完整内容,剩余1页未读,立即下载
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- VMP技术解析:Handle块优化与壳模板初始化
- C++ Primer 第四版更新:现代编程风格与标准库
- 计算机系统基础实验:缓冲区溢出攻击(Lab3)
- 中国结算网上业务平台:证券登记操作详解与常见问题
- FPGA驱动的五子棋博弈系统:加速与创新娱乐体验
- 多旋翼飞行器定点位置控制器设计实验
- 基于流量预测与潮汐效应的动态载频优化策略
- SQL练习:查询分析与高级操作
- 海底数据中心散热优化:从MATLAB到动态模拟
- 移动应用作业:MyDiaryBook - Google Material Design 日记APP
- Linux提权技术详解:从内核漏洞到Sudo配置错误
- 93分钟快速入门 LaTeX:从入门到实践
- 5G测试新挑战与罗德与施瓦茨解决方案
- EAS系统性能优化与故障诊断指南
- Java并发编程:JUC核心概念解析与应用
- 数据结构实验报告:基于不同存储结构的线性表和树实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)