既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
已剪辑自: https://vsystemes.com/35621/
1**、概述**
经过了二十年的发展,对于国内CAE仿真,众多企业的目光已经不再只关注仿真本身,更多的将目光放在了以下三个方面:
(1) 关注的重点慢慢从普通的仿真分析向着优化分析的过渡;
(2) CAE仿真分析更加专业化,规范化和流程化;
(3) CAE仿真分析问题的复杂化,涉及跨领域多学科复合问题。
我们将从上述三个方面分别进行解说。
1.1 从仿真分析到优化的过渡
如今,计算机辅助仿真分析技术已经被广泛应用于各个行业,大家将仿真数字样机虚拟试验替代物理样机真实试验的最终目标。
随着国内CAE仿真分析水平的提升,在仿真分析方法和模式已经比较成熟的基础上,为了更有效的应用仿真分析结果,达到仿真分析结果指导产品设计的目的,优化方法和相应优化软件逐渐被引入到CAE部门的工作环节中。
如何应用优化软件搭建优化流程,以及通过什么样的优化方法和模式实现优化过程,成为很多企业CAE团队关注的问题。
根据上述需求,达索系统提供了Isight软件,作为多参数多学科优化工具平台,可以结合仿真分析工具(例如ABAQUS)实现仿真优化流程的搭建,解决产品设计与仿真联合优化的问题。
1.2 仿真规范化和流程化
随着企业CAE团队的日益壮大与成熟,以及仿真数据的积累,这些企业都对仿真规范流程的搭建提出了迫切需求。
如今高性能计算资源极大丰富,并且可预见到在不久的将来量子计算机的发展和实用化将会带来计算资源的飞跃式增长。对于CAE行业来说,计算机硬件将不再是仿真分析的瓶颈与桎梏,而大量的仿真模型处理任务和大量的待处理仿真数据将成为CAE团队的极大负担。
首先,如何将仿真流程规范化;其次,如何结合软件工具将相应流程固化;最终,如何尽可能使仿真流程自动化。以上三点已经成为CAE行业想要发展壮大必须解决的问题。
在Isight中,我们可以通过有机的组合应用流程组件和应用组件创建仿真流程模板,通过源生应用组件和二次开发实现与第三方软件之间的调用和信息交互,通过Isight丰富的开发接口创建和开发仿真模板和定制模块。
1.3 多学科多领域交互
CAE仿真分析方法可以应用于诸多领域和专业,例如结构、流体、传热、电磁等等领域。通过仿真分析方法解决多学科问题涉及到不同领域的物理机制和专业理论,同样也会用到各行各业不同种类的分析计算软件。
CAE行业对仿真分析对象的关注点从单独专业单一类型简单物理过程的仿真逐渐向跨领域多专业复杂复合物理过程的仿真转变。
要想实现多学科的联合仿真优化,往往需要将不同软件串联在同一个仿真平台下,再结合相应优化算法工具,最终实现优化流程的建立。
Isight以应用组件的形式提供了针对大量第三方软件的接口,可以轻易的将各种常用软件串联在Isight的优化或试验设计等流程中,从而实现各软件间的数据流传递,完成多学科多领域联合仿真和优化流程。
Isight软件中的工具模块主要分为两大种类:流程组件和应用组件。下面会对Isight的不同功能组件和模块进行介绍。
2、Isight流程组件
Isight软件中的流程组件的主要功能是定义不同的优化或试验设计等控制流程。如下图所示,Isight的主要流程组件为:优化方法(Optimization)、试验设计(DOE)、近似拟合(Approximation)、稳健性设计(包括蒙特卡洛方法、田口稳健性设计、6S稳健性设计)。
2.1 优化方法
Isight优化组件中集成了大量的数值优化算法,从理论方面通常可分为三大类:梯度优化算法、直接搜索方法和全局优化算法。Isight优化组件支持多输入变量(设计变量),多约束条件和多目标函数。特别指出,Isight不仅提供了针对单目标函数的优化算法,同时支持真正意义上的针对多目标函数的优化算法。理论上Isight的优化模块支持无穷个输入设计变量作为输入和无穷个目标函数作为输出。
2.1.1 梯度优化算法
通常我们将工程问题抽象为非线性、连续可导的数学问题后,梯度优化算法是解决这类问题的高效方法。Isight中集成的梯度优化算法有:MMFD修正可行方向法(Modified Method of Feasible Direction),LSGRD广义下降梯度法(Large Scale Generalized Reduced Gradient),NLPQL序列二次规划法(Sequential Quadratic Programming),MOST多动能优化系统技术(Multifunction Optimization System Tool),MISQP混合整型序列二次规划(Mixed-Interger Sequential Quadratic Programming)。
一般的情况下梯度算法优化效率较高,但是要求目标函数可导,且容易陷入局部最优解。当我们对优化空间足够了解的情况下,对设计变量取值范围进一步约束限制后,可通过梯度算法最快的得到最优解。
2.1.2 直接搜索方法
直接搜索方法无需计算函数梯度,只需要通过设计点上的某函数表达式的值对搜索方向和步长进行判定和调整。当优化问题中的目标函数较复杂或无直接函数表达式时,可采用直接搜索法得到最优解。
Isight优化模块集成了如下直接搜索方法:Hooke-Jeeves直接搜索法(Hooke-Jeeves Direct Search Method),下山单纯型法(Downhill Simplex)。
直接搜索方法无需目标函数可导,搜索步长较梯度法更大,所以通过直接搜索方法可以在限制较小的情况下得到更大范围的设计空间的信息。同样,直接搜索法也容易陷入局部最优解,并且无法通过并行方法进行优化计算。
2.1.3 全局优化算法
我们遇到的工程问题往往比较复杂,设计空间中的目标函数可能是多峰的、非线性、不连续、不可导的;设计变量和约束函数也可能是线性、非线性、连续、离散的。当优化问题非常复杂,没有导数、梯度信息可供利用,问题又存在多峰可能性的时候,梯度算法和直接法都无法求得全局最优解,此时就应该应用全局优化算法解决问题。
Isight优化模块集成了如下全局优化算法:1、多岛遗传算法MIGA(Multi-Island Genetic Algorithm);2、自适应模拟退火法ASA(Adaptive Simulated Annealing);3、粒子群优化算法PSO(Particle Swarm Optimization);4、进化算法Evol(Evolutionary Optimization);5、自动优化专家算法Pointer(Pointer Automatic Optimizer)。
全局优化算方法的适应性很强,可以用于各种优化问题,只评价设计点不需要计算梯度。全局优化算方法在进行搜索时可以从设计空间的峰谷区域(局部最优解)跳出,因此可最终得到全局最优解。全局优化算法所需迭代次数往往非常多,因此优化速率较低,计算代价非常大。
2.1.4 多目标优化算法
我们遇到的实际工程问题多数为多目标问题,即对多个子目标(目标函数)同时进行优化,而这些目标函数往往不是单调一致的,存在相互冲突。
一般多目标优化方法可分为两大类:1、归一化方法(加权法),即通过对多目标函数进行加权求和,创建出一个新的单一目标函数,再应用单目标优化算方法对此目标函数进行优化;
2、非归一化方法,即不通过加权方式实现对多目标函数的真正优化
Isight中的单目标优化算方法都支持对多目标函数进行加权求和,因此对于简单的多目标优化问题,并且多目标函数单调一致的情况下,可采用2.1.1节-2.1.3节中介绍的各种不同算法进行归一化多目标优化。
对于非归一化方法,Isight提供了如下算法:第二代非劣排序遗传算法NSGA-II(Non-Dominated Sorting Genetic Algorithm),邻域培植多目标遗传算法NCGA(Neighborhood Cultivation Genetic Algorithm),存档微遗传算法AMGA(Archive-Based Micro Genetic Algorithm),全局多目标梯度探索算法PE(Hybrid Multi-Gradient Pareto Exploration)。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
以添加戳这里获取](https://bbs.csdn.net/topics/618658159)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!