优化设计之遗传算法程序实现

优化设计之遗传算法程序实现
在文章《优化设计之遗传算法》中介绍了遗传算法的基本概念和程序编制流程,本文将通过一个具体的程序算例来详细介绍遗传算法的程序编写方法和计算流程。通过上文可以知道,通过遗传算法进行优化设计共分为五个主要的步骤:产生初始种群、进行个体评价、选择染色体、交叉染色体、变异染色体。下面介绍具体的实现方法,程序使用Python语言...

优化设计之遗传算法

优化设计之遗传算法
遗传算法(Genetic Algorithm,GA)是优化设计中常用的一个智能优化算法,它是通过模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局最优化概率搜索算法。遗传算法的基本运算过程如下:(1)对种群个体进行编码,生成初始种群,为保证优化收敛,需要规划群体中的个体数和最大进化代数;(2)根据评价规则对个体进行...

Hypermesh二次开发:求解器模板的查询和设置

Hypermesh二次开发:求解器模板的查询和设置
在Hypermesh二次开发中经常需要查询Hypermesh当前的求解器模板,例如我们写的脚本只能用于OptiStruct求解器,那么我们就需要在脚本里加上判断求解器模板的命令。可以先通过hm_info命令查询求解器模板信息,如果模板不对应可使用*templatefileset命令来设置求解器模板。hm_info命令的格式如下所示:hm_info option|-appinfo info_opt...

Hypermesh二次开发:属性查询获取命令hm_getvalue

Hypermesh二次开发:属性查询获取命令hm_getvalue
在Hypermesh二次开发中可以使用hm_getvalue命令来获取对象的属性,该命令的格式如下:hm_getvalue entity_type<select_type>=<selection> dataname=<data name or attributename/ID> ?row=<row_index>? ?column=<column_index>?下面对其用法进行详细说明。最基本的用法就是获取给定对象的属性,例...

Hypermesh二次开发:常用的数据查询和选择命令

Hypermesh二次开发:常用的数据查询和选择命令
在进行Hypermesh二次开发时经常需要检查某个对象在数据库中是否存在。例如新建一个部件,在创建前首先需要检查所创建的部件名称是否已经存在,Hypermesh中不允许有同名的对象存在,如果不检查直接创建,当有同名的部件时会导致程序出错,甚至Hypermesh崩溃。1、模型信息查询命令hm_entityinfo和hm_entitylist进行数据查询时,尽量使...

LS-Dyna中的单精度和双精度求解设置

LS-Dyna中的单精度和双精度求解设置
对于64位的LS-Dyna安装完成后在program文件夹中会有两个LS-Dyna求解器文件,带_s的为单精度求解器,带_d的为双精度求解器。在LS-Dyna的ProgramManager窗口中可通过菜单Solvers – Select LS-DYNA Solver进行求解器的切换。通过此菜单选择相应的求解器可执行文件即可。双精度求解器的求解精度比单精度求解器要高,也会比单精...

Hypermesh中壳单元厚度的自动提取及单元属性的自动创建

Hypermesh中壳单元厚度的自动提取及单元属性的自动创建
在Hypermesh中通过MidmeshThickness命令可以自动提取壳单元的厚度,自动创建单元属性并赋给相应的单元。通过菜单Mesh – Edit – Elements –Midmesh Thickness打开MapMid-Mesh Thickness对话框。在Input中选择Selectentities,在Solid geom/mesh中选择抽取中面的实体,在Mid-Mesh中选择通过中面划分的壳单元网格。或者通过From file...

LS-Dyna中的单元锁定

LS-Dyna中的单元锁定
在LS-Dyna中,某些情况下,通过有限元法计算出的位移比实际情况要小很多(通常不在同一个数量级),这种情况被称为锁定。两种最常见的单元锁定是剪切锁定和压力锁定。锁定通常发生在较低阶单元中,此时单元矩阵方程无法得到正确的解。当单元受弯曲时发生剪切锁定,当材料不可压缩时发生压力锁定。1、三⻆形单元体积锁定案例。图中的...

Hypermesh二次开发:常用的用户交互命令介绍

Hypermesh二次开发:常用的用户交互命令介绍
在Hypermesh的二次开发中经常需要和用户进行交互,让用户输入所需参数或者是让用户进行选择操作,下面介绍下在Hypermesh二次开发中常用的用户交互命令函数。1、字符串、数值的获取常用的字符串、数值获取命令有以下三个:(1)hm_getstring:让用户输入一个字符串;(2)hm_getint:让用户输入一个整数;(3)hm_getflo...
© 坐倚北风 版权所有 严禁镜像复制 苏ICP备15034888号. 基于 Ality 主题定制 AliCMS
联系邮箱:leanwind@163.con,微信公众号:数字化设计CAX联盟

用户登录

分享到: