作者归档:guage

【Python】Streamlit 应用 “COMSOL 颜色表预览”

Streamlit APP “COMSOL 颜色表预览”

有些客户在拿到基于COMSOL的分析结果后,会提出“当前云图颜色配色不满意,需要拿到COMSOL文件自己进行进行调色”。但是大部分时候我是不提供COMSOL文件的。不提供文件的原因有如下几点:

  • 客户其实不会用这个软件,自己操作半天还是不会弄,最后还是返回来要我处理。
  • 对文件内些有独有技术的保护,不想外流。
  • 有些客户不懂有限元,看到文件内的操作不理解,会出现反复问询的情况,避免陷入反复自证吃了几碗粉的情况。
  • 有些客户拿到文件后自己的保密意识不到位,有外流风险。(以前出现客户拿到模型后毕业礼把模型文件卖给模型收集者,然后模型收集者又将文件挂到进行兜售交易。)

为了回绝客户的 “当前云图颜色配色不满意,需要拿到COMSOL文件自己进行进行调色”, 我开发一个在线的颜色表预览App,客户可以预览所有的COMSOL预置颜色表,选择好意向颜色表后进行反馈。

“COMSOL 颜色表预览” 应用入口

目前此APP仅对合作伙伴开放使用,如遇APP使用请及时联系我。欢迎各位给出宝贵意见~!

纯Python开发,使用了streamlit,pandas,pyvista等模块。

更新记录

2024年11月21日 V2.1

  • 增加了2D、3D默认视图的选择,方便对不同的维度的结果进行快速预览
  • 增加了颜色表的顺滑

2024年11月15日 V2.0上线

  • 增加COMSOL格式的colorbar渲染
  • 增加单个订单的多个场景预览选择
  • 在无查询订单状态下,增加了几个官方案例库里的后处理场景
  • 布局调整

COMSOL 6.2 百度网盘

链接:https://pan.baidu.com/s/1maYNaUHVtek5zre48Q7BRg?pwd=tcd7
提取码:tcd7
–来自百度网盘超级会员V6的分享

COMSOL Multiphysics® 6.2 版本主要新增功能

COMSOL Multiphysics® 6.2 版本新增了用于仿真 App 和数字孪生模型的颠覆性功能,并带来了更快的求解器技术。现在,用户可以利用数据驱动的代理模型来提高仿真 App 的计算速度,提升用户的交互式体验,进一步促进仿真技术在组织内部的应用。新的代理模型框架为需要快速、频繁地更新仿真结果的数字孪生模型,以及可独立运行的仿真 App 提供了重要的全新支持。

在采用非线性材料的电机多物理场仿真和声学脉冲响应仿真方面,速度至少提高了一个数量级。现在,CFD 模型的求解提速高达 40%。对于化工应用,新版本还包含用于模拟汽-液界面的功能,包括冷凝和汽化过程。对于使用结构力学相关产品的用户,还将看到更新的损伤和裂隙建模功能,以及电路板翘曲计算和电机多体动力学分析功能的增强。

本页面汇总了 COMSOL® 软件 6.2 版本的主要新增功能,欢迎浏览左侧菜单,进一步了解有关核心功能和特定附加产品的详细更新信息。

通用更新

  • 用于 App 快速计算的代理模型
  • 添加了计时器事件,可将 App 用作数字孪生模型
  • 新的插件,用于创建带菜单和按钮的自定义功能区选项卡
  • 地板阴影可视化
  • 曲面上的流线图
  • 表达式语法突出显示
  • “模型开发器”树的节点过滤
  • 与保存的比较 按钮,用于查看自上次保存模型以来的所有更改
  • 通用的连续相切选择
  • 改进了“模型管理器”的搜索和维护操作
  • 用于“模型管理器”数据库的应用程序接口 (API)
  • 不确定性量化模块:相关输入参数
  • 优化模块:基于特征频率的拓扑和形状优化

电磁

  • 更快的非线性电机和变压器的时间维度周期性分析
  • 新增用于电机声学、结构、多体、传热和优化分析的选项
  • 用于生物组织和电介质的色散材料模型
  • 绞合导体(如利兹线)建模
  • 磁场仿真的自动稳定
  • 增强了基于边界元法 (BEM) 的高频分析
  • 更有效地处理等离子体中的化学反应
  • 求解前预览半导体掺杂分布
  • 新增射频仿真选项,用于计算 1 g 和 10 g 样本量的平均比吸收率 (SAR)
  • 模拟光波通过液晶的传播过程

结构力学

  • 用于损伤和裂隙建模的固体相场
  • 虚拟裂纹扩展法
  • 接触模型的自动稳定
  • 电路板的翘曲计算
  • 电机的磁-结构多物理场分析
  • 用于电迁移、氢脆和其他现象的固体传递
  • 水分输送与结构变形的强耦合
  • 通过外部载荷加速无约束结构的惯性释放分析
  • 新增专用于锂电池应用的黏塑性材料模型
  • 新增用于聚合物黏塑性的材料模型
  • 更强大的纤维建模功能
  • 形状记忆合金的多项增强功能
  • 非线性材料实验数据的专业参数估计
  • 新增用于基本单元和代表性体积单元的零件库
  • 带多层壳的压阻多物理场

声学

  • 房间和车厢声学的脉冲响应计算速度提升了一个数量级
  • 具有频率相关边界阻抗的真实吸声建模,用于时域分析
  • 针对多孔弹性波的各向异性材料
  • 新增端口条件用于涡轮喷气发动机进气道等结构的气动声学分析
  • 用于热黏性声学建模的滑移壁和表面张力
  • 更快的声学边界元法 (BEM)
  • 用于密集频率扫描的渐近波形估计 (AWE) 方法
  • 振动声学多物理场的模态分析
  • 波形音频文件格式 (WAV) 导入

流体 & 传热

  • 湍流计算速度提升高达 40%
  • 新增 7 个用于高马赫数流动的 RANS 湍流模型
  • 可压缩流动的大涡模拟 (LES)
  • 用于初始化的势流
  • 用于旋转机械的混合平面方法
  • 用于黏弹性流动的构象公式
  • 根据 GPS 位置获取 ASHRAE 天气数据
  • 间距表面之间的热阻连接
  • 用于二维轴对称模型的参与介质中的辐射
  • 提高了带热辐射的轨道热载荷分析的性能并改进了工作流程
  • 多孔介质中的非等温反应流
  • 新增将多孔介质中的达西定律流动与无孔域耦合的选项
  • “聚合物流动模块”现在包含参数估计功能
  • 模拟金属加工中的退火

化学 & 电化学

  • 多相流的气液平衡建模
  • 电化学和腐蚀的接触电阻边界
  • 用于准确描述气体扩散电极的孔隙-壁相互作用(克努森扩散)模型
  • 为电池建模自动定义荷电状态和健康状态变量
  • 改进了初始荷电状态、电池电压和电极电压的初始电荷分布
  • 增强了管道外加阴极保护的建模功能
  • “化学反应工程模块”现在包含参数估计功能

CAD 与网格

  • 新的距离测量和质心测量特征
  • 详细控制沿扫掠路径的扭转
  • 用于选择的逻辑表达式
  • 适用范围更广的扫掠网格特征
  • 更轻松地为周期性边界生成网格
  • 新增表面重新划分网格方法,适用于导入的STL 网格
  • 端盖面的边选择得到改进
  • CAD 导入支持最新的文件版本
  • 自动处理 ECAD 导入的内部铜层位置
  • 偏移面和放样功能得到改进

Deepin系统配置开机自启动

https://blog.csdn.net/qq_21137441/article/details/124825726

一、进入自启动目录

cd **~/.config/autostart**
ls

二、新建启动文件

新建一个 .desktop 文件,然后把它丢进 ~/.config/autostart 文件夹下。~/.config/autostart 文件夹其实挺类似于 Windows 下的启动文件夹,系统开机时会执行该文件夹下的每个 desktop 文件 Exec 参数指向的脚本或可执行文件(desktop你可以简单地理解为 Windows 系统中的快捷方式)。

[Desktop Entry]
 
Name=<应用程序名>
 
Type=Application
 
Exec=<应用程序或脚本完整路径>
 
Icon=<应用程序图标的完整路径>

保存重启系统会发现已经可以开机启动啦

Docker应用

Docker 安装

安装Docker

sudo apt install docker.io -y

添加镜像源

sudo geany /etc/docker/daemon.json

json中添加

{

"registry-mirrors": ["https://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com","https://registry-1.docker.io"]

}

重启Docker

sudo service docker restart

Calibre-web

https://hub.docker.com/r/johngong/calibre-web
  • 下载镜像
docker pull johngong/calibre-web:latest
  • 创建calibre-web容器
docker create  \
  --name=calibre-web  \
  -p 8083:8083  \
  -v /media/Chyn/BACKUP_6T1/DATA/Calibre_web/config:/config  \
  -v /media/Chyn/BACKUP_6T1/DATA/Calibre_web/library:/library  \
  -v /media/Chyn/BACKUP_6T1/DATA/Calibre_web/autoaddbooks:/autoaddbooks  \
  -e UID=1000  \
  -e GID=1000  \
  -e CALIBRE_SERVER_USER=用户名  \
  -e CALIBRE_SERVER_PASSWORD=用户密码 \
  --restart unless-stopped  \
  johngong/calibre-web:latest

另一个测试版本
docker create  \
  --name=calibre-web  \
  -p 8083:8083  \
  -v /data/home/Chyn/Calibre-web/config:/config  \
  -v /data/home/Chyn/Calibre-web/library:/library  \
  -v /data/home/Chyn/Calibre-web/autoaddbooks:/autoaddbooks  \
  -e UID=1000  \
  -e GID=1000  \
  -e CALIBRE_SERVER_USER=用户名  \
  -e CALIBRE_SERVER_PASSWORD=用户密码 \
  --restart unless-stopped  \
  johngong/calibre-web:latest

Douban-api

使用Docker启动

docker pull fugary/simple-boot-douban-api:latest
docker run -it -p 8085:8085 fugary/simple-boot-douban-api

群晖calibre-web中使用

首先在群晖Docker中下载容器simple-boot-douban-api并启动,然后在calibre-web容器中找到get_meta.js文件并修改。

geany /calibre-web/app/cps/static/js/get_meta.js

找到 var douban = “https://api.douban.com“; 替换成自己的NAS_IP地址

var douban = “http://192.168.10.190:8085“;

如果不熟悉vi命令,这里提供一种更快的替换的方式,使用sed命令:

sed -i 's#[https://api.douban.com#http://192.168.10.190:8085#g](https://api.douban.com#http://NAS_IP:8085#g)' /calibre-web/app/cps/static/js/get_meta.js

Github地址:https://github.com/fugary/simple-boot-douban-api

参考文档:https://fugary.com/?p=213

新版增加环境变量:

DOUBAN_PROXY_IMAGE_URL

true:代理豆瓣封面地址,服务端尝试多个域名下载,防止有些情况下封面下载失败问题

false:不做处理,默认为false)

Deepin安装后配置

Geany 好用的编辑器

一个非常好的gedit替代软件

sudo apt-get install geany -y

SSH 远程控制

安装SSH并设置为开机启动

sudo apt-get install ssh -y
sudo systemctl enable ssh
sudo /etc/init.d/ssh start

Wolai

https://www.wolai.com/downloads

Firefox

下载网址

https://www.firefox.com.cn/

需要发送快捷方式

https://www.jianshu.com/p/8f1833e1e1b3
cd /usr/share/applications
sudo geany firefox.desktop

[Desktop Entry]
Version=1.0 
Name=Firefox    
Comment=a web browser  
Exec=/home/Chyn/Firefox-latest-x86_64/firefox/firefox  
Icon=/home/Chyn/Firefox-latest-x86_64/firefox/browser/chrome/icons/default/default128.png  
Terminal=false  
Type=Application   
Categories=Network;WebBrowser;    

百度输入法

https://srf.baidu.com/site/guanwang_linux/index.html
sudo dpkg -i fcitx-baidupinyin.deb

Conky

https://www.cnblogs.com/top66zhoulei/p/12302818.html
sudo apt-get install conky
sudo apt install libgee-0.8-dev 
wget --no-check-certificate https://github.com/teejee2008/conky-manager/releases/download/v2.4/conky-manager-v2.4-amd64.run
chmod +x ./conky-manager-v2.4-amd64.run
sudo ./conky-manager-v2.4-amd64.run

conky-manager

mkdir .conky
cd ~/.conky/
mkdir DC
cd DC
geany  ~/.conky/DC/DC

如果是已经安装,进入目录为

输入以下配置

default_color white
double_buffer yes
no_buffers yes
update_interval 1.0
total_run_times 0
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
 
own_window_colour 000000
own_window_argb_visual yes
own_window_argb_value 0
 
double_buffer yes
draw_shades yes
draw_outline no
draw_borders no
draw_graph_borders n0
minimum_size 300 1
maximum_width 406
default_color ffffff
default_shade_color 000000
default_outline_color 000000
alignment top_right
gap_x 6
gap_y 5
cpu_avg_samples 2
override_utf8_locale no
uppercase no # set to yes if you want all text to be in uppercase
use_spacer no
use_xft yes
xftfont WenQuanYi Zen Hei:pixelsize=12
override_utf8_locale yes
use_spacer no
minimum_size 300 1
TEXT
${font LCD:style=Bold:pixelsize=40}${alignc}${time %I:%M:%S}
${font LCD:style=Bold:pixelsize=20}${time %Y年%b%d日 星期%a}${alignc}
${font WenQuanYi Zen Hei:pixelsize=14}
${color #98c2c7}IP地址:  ${color}$alignr ${exec ifconfig | grep -o -E "inet [0-9]{1,3}.[0-9]{2,3}.[0-9]{1,3}.[0-9]{1,3}"}
${color #98c2c7}已开机: ${color}$alignr$uptime
 
${color #98c2c7}CPU使用率: ${color}$cpu%
${cpugraph 324D23 77B753}
$cpubar
 CPU1 温度:  $alignr${exec sensors | grep 'Core 0' | cut -c17-25}
 CPU2 温度: $alignr${exec sensors | grep 'Core 1' | cut -c17-25}
 
${color #98c2c7}CPU占用:${color}
  ${top name 1} ${alignr}${top cpu 1} 
  ${top name 2} ${alignr}${top cpu 2} 
  ${top name 3} ${alignr}${top cpu 3} 
  ${top name 4} ${alignr}${top cpu 4} 
 
${color #98c2c7}物理内存:${color}${alignr}$mem / $memmax
${membar}
${color #98c2c7}交换空间:${color}${alignr}$swap / $swapmax
$swapbar
${color #98c2c7}内存占用:${color}
  ${top_mem name 1} ${alignr}${top mem_res 1}   ${top mem_vsize 1}
  ${top_mem name 2} ${alignr}${top mem_res 2}   ${top mem_vsize 2}
  ${top_mem name 3} ${alignr}${top mem_res 3}   ${top mem_vsize 3}
  ${top_mem name 4} ${alignr}${top mem_res 4}   ${top mem_vsize 4}
 
${color #98c2c7}根分区: ${color}${alignr}${fs_free /} / ${fs_size /}
${fs_bar 4 /}
${color #98c2c7}Home分区: ${color}${alignr}${fs_free /home} / ${fs_size /home}
${fs_bar 4 /home}
${color #98c2c7}NAS分区: ${color}${alignr}${fs_free /media/Chyn/BACKUP_6T} / ${fs_size /media/Chyn/BACKUP_6T}
${fs_bar 4 /media/Chyn/BACKUP_6T}

${color #98c2c7}网络使用:${color}
下载速度:$alignr${downspeed enp3s0} k/s
上传速度:$alignr${upspeed enp3s0} k/s
${downspeedgraph enp3s0 324D23 77B753}


Todesk

https://www.todesk.com/

下载安装后,记得设置本机连接静态密码;

同时记得关闭电源中的待机休眠

Docker

安装Docker

sudo apt install docker.io -y

添加镜像源

sudo geany /etc/docker/daemon.json

json中添加

{

"registry-mirrors": ["https://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com","https://registry-1.docker.io"]

}

重启Docker

sudo service docker restart

Deepin安装Samba并设置为开机启动

https://blog.csdn.net/weixin_28713299/article/details/116825515?spm=wolai.workspace.0.0.52274ae4847T5K

https://blog.csdn.net/weixin_28713299/article/details/116825515

Samba的安装&配置

我的需求是将Deepin服务器上的用户目录(比如/home/yasin/)映射给Windows访问,这样就可以在Windows下 读取数据中心文件。

1. 安装

sudo apt-get install samba

添加系统用户,如果需要设置多用户samba系统,需要进行下一步

sudo adduser xxxx

2. 添加samba用户

sudo smbpasswd -a xxxx

如果没有什么安全性要求,此处添加的samba用户可以和系统用户相同,而不必再修改smbusers文件将samba用户和系统用户对应起来。

所以我直接添加了用户名xxxx,这样samba用户直接对/home/xxxx目录有操作权限。

3. 配置

sudo geany /etc/samba/smb.conf

在文件末尾添加配置如下

[xxxx]

comment = Home Directories
path = /home/xxxx
browseable = yes
read only = no
create mask = 0664
directory mask = 0775
valid users = %S

下面分别解释含义:

  • – comment:配置描述
  • – past:共享的文件路径
  • – browseable:是否可以浏览
  • – read only:是否只读
  • – create mask:创建文件掩码,与的关系,因为Windows下创建文件默认带有可执行权限,你不想一个文本文件也有可执行权限吧?所以这里配置为0664也就是-rw-rw-r–。
  • – directory mask:创建文件夹掩码,文件夹需要有x权限,否则其他用户无法进入,这里配置为0775,也就是drwxrwxr-x。
  • – valid users:有效用户是其所有者(valid users = %S)

下面为我个人配置

[share]
comment = 6T Main Nas
path = /media/xxxx/BACKUP_6T1/Public
browseable = yes
writable = yes
valid users = Chyn

[Movies]
comment = movie
path = /media/xxxx/BACKUP_6T1/Public/31 Movie
browseable = yes
writable = yes
guest ok = yes
public = yes


重要!文件夹权限设置问题

另外,因为设计多用户的文件操作权限问题,需要修改文件的文件夹权限

sudo chmod -R 777 '/media/Chyn/BACKUP_6T1/Public/'
sudo chmod -R 777 '/media/Chyn/BACKUP_6T1/Public/01 Softwares'
sudo chmod -R 777 '/media/Chyn/BACKUP_6T1/Public/02 OS iso'

‘3

4. 重启

samba服务

sudo service smbd restart

5. 设置为开机启动

sudo systemctl enable smbd

win7 清除samba共享密码,在DOS下 ,

net use * /del

目前配置的密码

Chyn password******

解决方案:Win10/Win11登录界面只有“登录”

问题:Win11 系统登录用户时无法登录
系统:Win 11
详细:Win11系统开机后登录按钮只现实两个字,密码输入框不显示,点击登录后无反应或者加载几圈后回到登录原始页面。

解决思路:

第一阶段:先进入带有管理员权限的CMD桌面环境

  • 如果能进行远程登录:使用其他电脑可以的“远程登录电脑”进行远程登录进入桌面即可,然后直接进行修复步骤
  • 如果不能远程登录。且只有一个Windows系统账户,那么,则先需要进行新增一个普通Windows系统用户账号。
  • 在登录页面,右下角的关机按钮左边的小人按钮,选择点击屏幕按钮,弹出cmd命令行 • 输入 control userpasswords2,弹出用户管理对话框 • 点击上方 高级** 选项卡,在点击中间的高级用户管理的 高级 **选项,弹出本地用户和用户组管理页面。 • 点击最左侧的用户 选项,中间会显示当前系统各用户,选中右键,选择新用户,弹出用户创建页面。 • 输入用户名,密码等信息,并注意是否需要勾选下次登录是否更改密码,建议取消勾选。 • 最后点击 创建 即可,回到最开始的账户对话框点击确定结束。 • 重启计算机,之前只有一个账户时无法选择别的用户,现在可以选择刚刚新建的用户并输入密码登录进系统。
  • 如果有多个Windows系统账户,那么,如果可以选择其他用户登录那就无需新建用户,如果无法登录其他用户则需要先新建用户。
  • 普通用户登录进系统后,由于没有管理员权限设置等操作都无法进行,并且不同用户的用户数据会不同,桌面等的显示都会和之前可能出现不同,所以接下去外面需要进行回到管理员权限的账号。 • 新建用户登录后只是普通用户,win11下 win + R 打开运行框,输入 cmd,打开终端,注意是 Windows Terminal。 • 接着要注意的是,第一步中打开用户账户管理对话框时,会显示当前的全部可使用账户,这里需要记住无法登录的账户名。 • 在cmd中,我们使用 runas /noprofile /user:无法登录的用户名 cmd (注意此命令的用户名也可以是administrator但要知道密码) • 输入命令后,输入账户对应密码,可以打开具有管理员权限的cmd对话框。

第二阶段:修复

最终也是最重要的修复步骤,所有的选择后都是进行这一步进行修复: 可以打开具有管理员权限的cmd对话框。依次输入下列指令,请等待每个指令操作提示完成后再继续输入。

DISM.exe /Online /Cleanup-Image /ScanHealth 
SFC /verifyonly 

这一步用于验证您系统是否存在完整性错误,包含系统映像和系统文件。若您确定不存在问题,可以跳过此步骤。

若第一步显示可修复组件存储,请继续进行下列操作:

分步步骤1: 输入

DISM.exe /Online /Cleanup-lmage /CheckHealth 

分步步骤2: 输入

DISM.exe /Online /Cleanup-lmage /RestoreHealth 

若第二步显示Windows 资源保护找到了完整性冲突,请继续进行下列操作:

分步步骤:输入

SFC /scannow 

• 管理员权限cmd下,输入Regedit.exe,打开注册表编辑器。按以下地址逐个点击注册表文件夹: HKEY_LOCAL_MACHINE\SOFTWARE_Microsoft\WindowsNT\CurrentVersion\PasswordLess\Device 找到 DevicePasswordLessBuildVersion 项目,其数值为2。双击将其数值修改为0 管理员权限cmd下输入netplwiz.exe,打开用户账户。将“要使用本计算机,用户必须输入用户名和密码”复选框取消勾选。这会要求您输入 Windows 密码。 注销当前账户。返回您的登录界面,选择原先的用户。此时仍会提示“出现问题,你的PIN不可用,单击以重新设置PIN。”但是多了登录选项。请轻点登录选项,使用此账户 Windows 密码登录。 • 进入系统后,右键您菜单栏中的 Windows 图标,轻点 设置>账户>登录选项,将您的 PIN删除。随后参考步骤 5,将DevicePasswordLessBuildVersion 更改回2,随后轻点确定 ‍

补充的是,在上一步中我们打开有管理员权限额cmd后,其实也可以直接打开netplwiz 将当前登录的普通用户设置为管理员,那我们当前的用户就是管理员权限了。接着我们可以不使用命令行的方式而是使用界面的方式交互性更好。 • win+R 打开运行框输入 mmc 打开 微软管理控制台。 • 点击左上角文件选项卡,选择 添加/删除管理单元,弹出对话框。 • 对话框中在左侧选择 本地用户和组 单机添加按钮,弹出对话框。 • 对话框中默认选择 本地计算机 即可,单机完成即可。 • 回到上一级对话框,确定即可。此时在在左侧会显示用户和组选项文件卡。 • 选择用户选项卡,我们可以看到此计算机的全部账户,这里我们进行 账户的启用 删除 修改密码等操作即可。

COMSOL Matlab livelink多参数研究仿真 2

model = mphopen('1113.mph'); %打开文件

param_name = ["d1" "a3" "a2" "a1"]; % 参数名称
param_unit = ["um" "um" "um" "um"]; % 参数单位
param_Value = [0.1 0.3 0.5;...  %参数值
                50 75 100;...
                1 3 5;...
                0.1 1 2];

% For循环运行所有参数组
para_num=size(param_Value,2);
T_max=zeros(para_num^4,1);
Stress1=zeros(para_num^4,1);
Stress2=zeros(para_num^4,1);
para=ones(para_num^4,4);
i=1;
for para1=1:para_num % 循环研究参数名
    for para2=1:para_num
        for  para3=1:para_num
            for para4=1:para_num
                %记录输出
                tic;
                fprintf('Start simulation %d: %s=%.1f | %s=%.1f | %s=%.1f | %s=%.1f \n',i,...
                    param_name(1),param_Value(1,para1),...
                    param_name(2),param_Value(2,para2),...
                    param_name(3),param_Value(3,para3),...
                    param_name(4),param_Value(4,para4));
                %设定参数
                model.param.set(param_name(1),num2str(param_Value(1,para1)),param_unit(1));
                model.param.set(param_name(2),num2str(param_Value(2,para2)),param_unit(2));
                model.param.set(param_name(3),num2str(param_Value(3,para3)),param_unit(3));
                model.param.set(param_name(4),num2str(param_Value(4,para4)),param_unit(4));
                %运行计算
                model.sol('sol1').runAll;
                model.sol('sol2').runAll;
                model.sol('sol3').runAll;
                %记录数据
                para(i,:)=[param_Value(1,para1) param_Value(2,para2) param_Value(3,para3) param_Value(4,para4)];
                T_max(i) = mphglobal(model,'dom1','dataset','dset1','unit','degC'); %导出指定数据集的探针数据
                Stress1(i) = mphglobal(model,'dom2','dataset','dset3','unit','MPa');
                Stress2(i) = mphglobal(model,'dom6','dataset','dset4','unit','MPa');
                fprintf('Done simulation %d: T_max = %.2f | Stress1 = %.2f | Stress2 = %.2f\n',i,T_max(i),Stress1(i),Stress2(i));
                i=i+1;
                toc
            end
        end
    end
end
save('data.mat','para','T_max','Stress1','Stress2');

“合作需知” 会议预约

如果各位老师预约会议,请在跟客户约好时间后尽快预约腾讯会议,然后将带链接的方式分享给我

这样我可以通过点开这个链接,将会议链接添加到我的待会议列表中

这样在腾讯会议待列表里一目了然,方便双方做时间管理,避免撞车,同时自动提醒参加会议。

【网络分享】转载:“工业软件” 语录摘要100句

“多物理场仿真技术” 公众号里,邓老师的一篇文章写的特别好,句句都是干货,留言征得同意后转载过来分享一下。

源文链接:

https://mp.weixin.qq.com/s/e2BZcIfim8cKesLXBUcRiQ

1. 技术短期容易被高估,长期被低估。最常见的就是互联网行业,创业阶段高薪聘请软件工程师,一旦产品上线,立马开始裁人

2. 软件工程师C++水平快速提升就在工作开始1-2年,后续就应该注重设计和业务,而非C++本身

3. 代码越简单越好。让代码变复杂是很简单的事情,让代码变简单则是很复杂的事。这也是为什么会有代码评审,敏捷开发,还折腾出结对编程,极限编程各种稀奇古怪的东西

4. 轻代码,重设计,是每个软件工程师晋升的必由阶段

5. 能百度出来的内容就不要在会议上讨论

6. 百分之九十九点九的软件工程师不需要自己写算法。需要的是在理解已有算法的基础上,应用到业务场景

7. 设计模式本质上是一种代码规范


8. 工业软件想着一年出产品,三年比肩国外同类。评论:请尊重这个行业

9. 一个超级程序员顶5个普通软件工程师,亲自体会过,可遇不可求

10. “工业软件”是一个单词,请不要拆开

11. 如代码拿来就能出产品,那现在工业软件大厂的数量应该乘以10

12. 未来10-20年,是国内工业软件高速发展时期。出现类似DASSAULT,ANSYS,SIMENS的公司是大概率事件

13. 工业软件领域,开源和商用是两个隔绝生态链。

14. 工业软件的底层技术几乎是一成不变的,变的只是上层的应用。最早的仿真软件安装包最大就百来兆,现在动不动就是几十个G。想了解工业软件底层内容建议多看看公众号的内容,一般书上不会介绍

15. 互联网大厂在工业软件方面没有积累,没有人才,也没有动力去做

16. 工业软件代理本身没问题,属于商务上的事。但是一些公司明明干着代理的事,却套着“自主研发”的皮,坑完甲方坑投资,坑完投资坑zf,多提醒两句也是希望行业更规范。

17. 工业软件领域的人才不是一般的缺乏,而是非常匮乏。

18. Techsoft3d的发展历史说明:只有保护好知识产权,普及知识产权意识,让软件技术产品成为高附加值产品,才能从底层推动整个工业软件科技的发展

19. ACIS 和 ANSYS 发音很近,但是是两个东西,注意区分

20. 工业软件在国内是典型的朝阳行业,但风口期和窗口期也就这几年

21. 工业软件研发,35岁只是起点

22. 最近几年,“卡脖子”思维已经明显刹不住车了,一般来讲,对方卡自己脖子,应该立马卡回去。卡脖子技术有其鲜明的特点:

  1. 技术门槛高,起步投入资金多;
  2. 研发耗时费力,需要长期积累,3年起步,成熟5-10年非常正常;
  3. 花钱买不到,买到只能用,无法转成自己的东西;
  4. 保密,专利核心技术点多。简单讲就是即使投入研发也不一定做的出来;
  5. 在行业内具有垄断性,无可替代

所以不用事事往卡脖子上靠,真没必要

23. 2-3个人不是不能开发工业软件,而是人太少的话,很难把产品做好,这是行业特点决定的。单独开发前沿或专利技术模块除外。

24. 低端的工业软件没有市场。低端不是不做的理由,而应该成为向高端进发的动力

25. 工业软件研发要积极融入全球生态,避免闭门造车

26. 工业软件一般始于技术驱动,成长于用户迭代,成功于商业模式

27. 全球工业软件行业并没有百花齐放,相反垄断正在进一步加剧

28. 工业软件项目可以从软件技术,工程技术和市场价值策略三方面评估

29. 一套行业内标杆非线性有限元软件,国内价格是国外几倍。所以就有了要求国内软件厂商功能要达到80%,价格只能有1/3的看似不合理要求

30. 开源软件可以用,但一定要合规,不要让“木兰”“红芯”在工业软件领域上演。切忌切记

31. 最近几年的技术“断供”,是各方博弈的过程,有诸多商业因素,和上世纪五六十年代的技术封锁有本质区别。

32. 2020年,SimScale融资2700万欧元(约2亿多人民币),仿真上云是趋势,以后也会越来越成为基本配置

33. 给中小型研发企业的五条建议:规范研发流程;核心技术突破;快速迭代;基础组件替换;少做营销多跑客户。

34. 大规模线性方程组的解法基本没有太多突破,所以任何时候钻研都不过时

35. 整个软件生命周期中,写代码大概只占到30-40%

36. AI技术已经在工业软件设计领域开始发挥作用,和数值计算方法(FVM,FEM等)融合仍然是研究的重点和难点。

37. 工业软件研发有其特点和规律:技术积累非常重要,需要长期投入;开发内容涉及面广,对研发人员要求较高;用户迭代和解决实际工程是重要一环。2000年的时候COMSOL还只是MATLAB工具箱下的一个小程序

38. 工业软件真正的难是:别人研发四五十年,而你只想三年就赶上 

39. 常识告诉我们:弯道不仅不能超车,还必须减速,否则大概率就是车毁人亡

40. 在通用计算仿真领域,如果有人说产品性能提升了十倍或者百倍,那一定是之前做的太差,而不是现在做的太好。针对特定领域,特定模型,底层经过优化后,十倍甚至上百倍性能提升是可能的。

41. 过去十多年,每年都有新的技术热点和概念,比如量子计算,物联网,AR,VR,区块链,人工智能,边缘计算以及现在炙手可热,发起公司也被啪啪打脸的元宇宙。仔细探究,很多技术只不过是新瓶装旧酒,有些事背后有资本推手,有些是从实验室走向市场,有些得益于硬件发展,有些得益于市场推动

42. 在工业软件生态链中,不管是开源还是商用,软件产品和其依赖的底层组件都有被禁用的风险,研发需要做好充分评估

43. 在工业软件领域,全球范围内公司的收购并购一直是热门,但对于国内投行并没有实际参考意义

44. 2020年,“CAE”软件首次出现在政府科技工作规划中,实属不易

45. 准确,稳定,可靠是工业软件优先考虑的因素

46. 对于用户来讲,软件是工具,利用软件积累起来的工程技术经验才是核心技术。工业软件能显著提升这种经验积累的效率

47. 一款好的工业仿真软件,最大的价值在于软件所涵盖的工业知识背景,以及基于虚拟模型对真实世界,高效准确的模拟

48. 2000年左右,一套正版ANSYS售价在国内近百万,当时全国房子均价在2000,也就是一套ANSYS可以在上海北京买两套100平面的房子

49. “国产自主”是一个长期的战略指导,在立足于现实,踏踏实实做研发时,也需要加强对外沟通合作

50. SimSolid,MeshFree,基于LBM的一系列产品在实际工程中的应用表明,未来无网格方法在多物理场领域会有更多应用

51. 用开源软件搭建一个简易版的前后处理器和仿真工具非常容易,国内可以拿投资和科研资金,但无法商用。工业软件研发一定要以高质量标准要求

52. 前处理占了整个仿真流程的70-80%时间,而且是个典型的80%体力+20%脑力的活动

53. 哈工大被禁用MATLAB时,成为科技圈乃至全国新闻,现在来看,影响非常有限,一朵小浪花都算不上

54. 2022年,ANSYS收购了2017年才成立的云端服务公司OnScale,再次表明未来工业软件上云,云端化是大趋势

55. 上海2021-2023关于工业软件发展纲要: 培育引进200家工业软件企业,培育10家左右上市企业,培育5家超10亿元的重点工业软件企业,上海工业软件规模突破500亿

56. 可以学习开源软件的算法思想,但不要基于开源软件搭软件架构,会走到死胡同

57. 一篇文章入门系列,不管是从事软件研发,还是产品研发,都可以参考写给仿真软件研发的“一篇文章入门”系列(终)(点击链接查看)

58. 单物理场仿真已经很复杂,多物理场耦合不管是弱耦合还是强耦合,都更加复杂,所以算不准很正常

59. 从事工业软件行业,最好是能在某些领域能够成为专家型开发者。比如几何内核,网格划分,某些专业领域求解器,图形,数据库,云平台,优化算法,AI,业务模型,HPC等

60. 有限元计算精度和网格质量没有直接关系,真正影响精度的是网格的密度和网格分布,如果网格足够密,网格质量差点没关系,如果密度不够且分布不均匀,表现形式就是质量指标差。

70. 自适应网格核心是找出几何,物理场变化较大位置所在的网格单元,进行相应加密,并找出变化小的地方,将网格变稀疏

71. 工业仿真软件一般分为三大模块:前处理,求解器,后处理。前处理的核心是几何和离散数据(通常是网格),做一个简单类比,求解器是发动机,网格是汽油,几何是原油。好的原油可以炼出好的汽油,好的汽油有利于发动机工作。

72. 对于工业仿真软件,“求解器”(Solver)是最核心的部分,主要指使用数值计算方法求解工程问题的计算程序,也是行业内的通用叫法

73. 工业软件领域的研发知识可以分为四类:理论基础,推导计算,工程应用和软件研发,研发内容可以对号入座

74. 《科学与工程中的计算》杂志评选出的20世纪10个最伟大算法,其中有7个和工业软件紧密相关

75. 从技术角度看,工业软件研发的难在:底层涉及大量的数学,这些数学知识应用和工业需求挂钩,在现有软硬件以及技术条件下,对准确性,可靠性,性能,鲁棒性有很高要求,需要长期迭代应用打磨

76. 快速多级,多层快速多级等是提升MOM,BEM算法性能的有效方法

77. 开发求解器,矩阵论和线性代数是基础中的基础,绕不过去

78. 根据笔者的多物理场研发经验,CFD和电磁最为复杂

79. IGA是Coreform公司的等几何结构求解器。等几何降低了对网格的要求甚至不需要网格,但随之而来是矩阵特性改变,稀疏性降低,在边界,非连续性,异性几何处理方面还有很多研究的空间

80. 因为直接求解偏微分方程组(PDEs)比较困难,才出现各种变通的方法,比如人为的划分强耦合,弱耦合,单向耦合,双向耦合等,其目的是为了简化计算,但所有耦合场都是以PDEs为基础

81. 想从事工业软件研发,语言选择上不用纠结,学好C++

82. AMG(代数多重网格)是求解收敛缓慢大规模线性方程组的一种有效方法,和网格划分没关系

83. 从头做起的大型软件,中间大规模重构是必然的,推倒重来也很正常。软件也有生命周期,到了一定程度,添加新功能的成本会高于重做,所以架构设计很重要。

84. 求解器开发也属于软件研发范畴,理应用软件工程思想指导,但由于求解器本身特殊性,开发流程也不适合完全按照一般软件研发流程做

85. 对标“标杆”软件是研发的通用做法,但是到了一定程度,产品就应该有自己的特点和亮点

86. 通常谈到CAE时,有个误区,就是把CAE和力学等同,把力学和有限元等同。原因是力学发展得比较早也比较完善,目前大部分有限元教程都以弹性力学和结构力学为主,客观上造成了这个误区的形成。我国的冯康院士是有限元理论原创提出学者之一。

87. 基于BREP结构的几何内核不是万能的,很多领域需要自己几何数据结构,这也是PARASOLID推出的Convergent Model的原因

88. 软件解耦可以在 类,组件,模块和产品等不同层次,是一个系统性工程

89. 工业软件性能问题符合典型的“木桶理论”,几何,网格,UI,计算,渲染,调度,交互等任何一个模块都可以造成性能瓶颈

90. 没有卖不掉的软件,只有抢不到的“独代”

91. 如果仿真还没有受到硬件限制,那说明仿真还没有入门

92. 2004年,ANSYS解出了1亿自由度模型,2008年,ANSYS解出了10亿自由度的模型。即使现在,自由度超过1千万,也可以认为是个大模型

93. 仿真软件的加速可以归纳为四个方面:分治,单一模型,优化高频操作,语言和底层算法改进

94. 模型降阶(MOR)是简化模型的有效方法

95. 网格是几何上的概念,单元是数值方法中的概念,通用有限元软件中单元的种类有几百种

96. 高阶单元(也就是通常说的P单元),在处理复杂几何上更有优势,适当的设置参数,只需更少数量的网格,能获得更好的数值计算解

97. 数值精度和数值误差是两码事。常见的误差包括离散误差,累计误差和截断误差

98. 工业软件一定要能解决实际工程问题,否则求解器做得再好也难以应用,只能是纸上谈兵

99. 多物理场通常指宏观领域的物理场,包括电磁,流体,结构,热,声,光等等,偏向于工程应用领域,和理论物理中的四大物理场(强力,弱力,电磁力,万有引力)相区别

100. 最后,不管从事什么行业,不管什么年纪,选择适当的运动方式,保持健康的生活方式,坚持锻炼身体,保好“革命的本钱”