- 博客(124)
- 资源 (3)
- 收藏
- 关注
原创 如何在COMSOL导入不封闭的STL文件并划分有限元网格
在有限元仿真中,我们已知的三维模型不都是由CAD严格建模得到的(如.step格式、x_t格式),有时候可能是由STL文件表示。STL文件使用许多微小三角面元的集合来表示一个物体。。这也导致STL格式的三维模型需要复杂的前处理,填充其实体部分之后才能开展后续的有限元计算。考虑到实际的STL甚至不是一个严格封闭的曲面(可能有破碎三角单元),前处理过程并不容易本文将介绍在COMSOL5.6中完成STL的导入、前处理和绘制有限元网格的过程,其中STL存在一个缺失的三角单元。如果直接导入,会报错“
2025-04-22 15:49:26
698
原创 如何将Fluent计算得到的瞬态数据导入CFD-POST中后处理
对于新版本的Workbench(如2021版本),CFD-POST后处理软件只能接收到Fluent瞬态计算中最后一个时间步的数据,而无法加载其他中间时间步,导致无法分析流场随时间的变化过程,无法绘制动画。
2025-04-22 10:18:05
1276
2
原创 使用python生成GIF动图
在一个文件夹中有一系列PNG图片(以序号+“#”的形式命名),本文介绍如何使用python将图片依次连起来,形成GIF动图。
2025-03-12 09:21:08
358
2
原创 深度学习模型训练过程的加速方法介绍
在深度学习中,神经网络的训练过程往往是最耗费时间的。本文介绍一些实用的技巧,实现代码的提速,具体提速效果可由读者亲自尝试。
2025-03-10 16:31:21
582
原创 使用扩散模型DDPM生成Sine正弦曲线的案例(使用Classifier-free guidance)
生成式扩散模型已经成为生成式人工智能的基础。对于工程上常见的数据生成任务(曲线、向量并非图像),并不需要用到相对复杂的U-Net和注意力机制,只需要。本文则提供一个简易的代码,仅使用全连接神经网络实现Sine正弦曲线的生成任务。所搭建的扩散模型需要输入振幅、频率和相位三个条件(Condition),可从高斯噪声出发,一步一步去噪,并使用Classifier-free guidance技术,得到近似符合条件的Sine函数。
2025-02-27 20:36:15
858
原创 使用python和paraview将三维数据可视化的方法
paraview可以很好地实现三维数据的可视化,包括网格、温度场、流场等信息。但是,paraview的设置通常所手动的,对于需要将可视化自动化完成的任务则需要用到paraview的python脚本
2024-12-30 15:34:08
1140
原创 飞行器转动惯量叠加
在飞行器总体设计过程中会涉及到转动惯量张量叠加。对于一个固体推进剂飞行器,如果已知推进剂装药燃尽后的转动惯量张量(在局部装药坐标系),需要计算燃烧过程中飞行器整体的转动惯量张量。
2024-10-31 17:16:42
533
原创 Windows ARM64 使用向日葵远程连接其他设备出现严重延迟的解决办法
Windows ARM64在平板电脑中的使用越来越多,但是其兼容性一致存在问题。比如华为Matebook E Go标准版平板电脑的Win10系统不能运行x86-64位的程序,但可以通过仿真的方式兼容运行x86-32位的程序。以为例,不能安装64位的程序,而运行32位的程序时会出现严重的延迟,有时甚至超过3秒钟,严重影响使用体验。
2024-10-28 11:14:43
916
原创 使用CMake生成动态链接库(.dll和.so)和静态链接库(.lib和.a)的方法
对于大型软件开发,动态连接库是必不可少的。不仅可以实现模块的封装,而且可以实现软件的热更新(即替换windows下的.dll或Linux下的.so文件后直接实现软件更新,无需重新编译)。有时也需要使用静态链接库,在一定程度上相比于动态链接库运行速度更快。本文介绍使用CMake生成以及调用动态连接库和静态链接库的方法。
2024-10-22 18:16:55
2676
原创 使用pyevtk导出结构化VTK网格以供后处理
在计算流体力学CFD中,通常需要处理三维网格数据,为了可视化,需要将其输出。本文介绍使用python的pyevtk库输出结构化网格,以供paraview进一步后处理。
2024-08-23 21:47:54
536
原创 Energy-based PINN在固体力学中的运用
物理信息神经网络(Physic informed neural network,PINN)已经成为在有限差分、有限体积和有限元之后的另一种求解偏微分方程组的范式,受到学者们广泛关注。在固体力学领域有两类不同的PINN。
2024-06-26 18:25:09
1841
原创 使用python实现:判断任意坐标点在STL几何模型的内部或外部
在STL几何模型处理的过程中,经常需要判断一个点是否在模型的内部。网上给出的资料主要是使用的,而的很少。本文给出了一段精简版的python代码,实现判断任意坐标点在STL几何模型的。
2024-02-07 21:41:27
807
原创 COMSOL方法编辑器中产生随机数(可控制随机种子)
COMSOL二次开发主要在方法编辑器中进行,编程语言为Java。有时需要产生随机数(比如随机生成一些球体),方法编辑器中已经存在可直接使用。但是,对于某些特殊情况,我希望每次运行代码产生的随机数是一样的。比如第一次运行,产生的随机数序列是0.125,0.326,0.332,0.923;我希望第二次运行依然可以产生这个序列0.125,0.326,0.332,0.923。。接下来,将自己编写一个随机数产生器,。
2024-02-06 12:37:24
2813
3
原创 FreeCAD的python脚本编写
FreeCAD是一款强大的开源CAD软件,可以与python无缝对解,使用python来驱动三维几何的构建,具有很高的灵活性。本文主要讨论一下录制宏的方法,以及如何驱动特定参数。
2024-02-04 17:27:21
2223
原创 极简Matlab快速傅里叶变换FFT
在试验数据处理中, 得到了一串数据, 经常需要提取频谱, 这里就需要运用快速傅里叶变换(FFT).Matlab中可以方便地调用FFT, 但是FFT的结果是, 为了绘制通常意义上的振幅频谱还需要做许多后处理.本文给出了一个极简的代码, 以供大家参考和使用。
2024-01-27 21:06:10
854
原创 CFD-POST如何使用Expression计算某一点处的物理量
CFD-POST是ANSYS Workbench通用的计算流体力学后处理软件,有时我们需要编写表达式Expression计算阻力系数或升力系数,这时就需要获取出口附近某一点处的气体密度(或其他任何物理量)。接下来将介绍如何操作。
2024-01-24 16:44:02
3908
1
原创 两行代码实现python多进程并行计算
并行计算的方法有许多,在科学计算中“单指令多数据”式的线程级别的并行计算经常使用,可以显著提升代码执行循环语句的速度。python内置的库可以实现循环语句的并行化,不过这里使用的是map而不是for,其本质相同。
2024-01-22 16:17:12
1054
原创 python import上级目录的方法
有两个文件夹A和BA文件夹下有a.py代码,而B文件夹下有b.py代码.我们需要在a.py代码中引用b.py代码中定义的函数。
2024-01-18 15:11:51
1500
原创 使用AutoDecoder自动解码器实现简单MNIST特征向量提取
自动解码器(AD)是论文"DeepSDF: Learning Continuous Signed Distance Functions for Shape Representation" 中使用的一种方法,与传统编码-解码结构不同,AD无编码器,仅有一个解码器。。在训练过程中特征向量与神经网络参数。如果训练集有N张图片,特征向量长度为n,神经网络参数为m,那么待训练参数共有N*n+m个。训练完成之后,任给一个特征向量,输入解码器,则可得到一张图片。
2024-01-09 19:41:55
2695
原创 python/pytorch读取数据集
MNIST数据集包含了6万张手写数字([1,28,28]尺寸),以特殊格式存储。本文首先将MNIST数据集另存为png格式,然后再读取png格式图片,开展后续训练。
2023-12-27 11:16:12
988
原创 扩散模型U-Net可视化理解
U-Net是生成式扩散模型的核心。它的输入有:(1)带噪声的图片 (2)时间标签 (3)其他条件变量。经过层层运算,得到一个噪声输出。该噪声输出可用于给图片去噪。这里推荐一个diffusion实现手写数字的源代码,适合新手入门。本文主要讲解其中U-Net的工作过程。
2023-12-26 17:18:55
6417
原创 Mathematica强制将函数的自变量由符号转为数值
使用Mathematcia完成函数优化(FindMaximum)十分方便。但是如果优化的目标函数非常复杂,里面嵌套了若干NSolve函数,那么FindMaximum可能会计算非常长时间,甚至无法得到正确结果。原因在于,Mathemtica自动使用“符号计算”方法执行函数,而不是“数值计算”方法。计算速度大幅下降。
2023-10-20 17:06:39
433
原创 Comsol电磁铁仿真
Comsol是一款多物理场仿真软件,可以完成固体力学、流体力学、传热学和电磁学的仿真。本文将介绍使用Comsol完成电磁铁仿真的主要流程,计算铁芯的受力。
2023-10-18 11:33:52
7920
8
原创 Linux系统远程访问另一台Windows系统的解决方案
在windows上安装openssh server,在 linux上安装openssh。通常linux会自带openssh,故这里只讲解windows上安装openssh server的方法。
2023-09-20 10:06:44
1909
原创 PINN神经网络源代码解析(pyTorch)
来源于Github [https://github.com/jayroxis/PINNs](https://github.com/jayroxis/PINNs)
2023-08-16 13:20:40
29646
29
原创 Conda安装第三方库卡在solving environment
安装第三方库(如pytorch)卡在solving environment步骤。
2023-08-13 15:09:03
502
原创 在openFoam中创建cellZone
openFoam的cellZone概念十分重要,可以给一个区域的单元命名,广泛应用于设置初始场(如气、液两相流的初始VOF分布)而cellZone通常由cellSet转化而来,本文将介绍使用cellSet定义cellZone的方法。
2023-07-09 17:28:38
974
原创 在线代码截图网站
通常展示代码时为了美观可以将代码转化为图片,这里推荐一个网站在线代码截图工具,根据输入的源代码,可以生成漂亮的代码图片。本工具可自动识别输入的代码属于哪种程序语言,包括 C、C++、Java、Go、Python、PHP、JavaScript、TypeScript、CSS、HTML 等几十种开发语言,并提供了若干高亮主题,以及相关图片生成选项,以生成不同风格的源码截图。
2023-06-09 15:48:34
320
原创 Ubuntu打不开nautilus文件管理器的解决方法
使用Ubuntu系统有一天突然就不能打开文件管理器了,但是依然可以使用命令行的方式访问文件系统。看来是samba出现了错误。
2023-05-14 17:36:03
1853
原创 C++非静态成员函数指针与函数对象
函数对象如同任何其他对象一样可以作为参数(或者引用)传递,十分方便。通常使用std::bind来构造函数对象。相比于函数指针,函数对象更简便、更安全、更直观。
2023-04-03 20:25:55
436
原创 OpenFOAM中的并行计算
(1) 单指令多数据(同一套代码,不同网格数据)(2) 相对独立地运行n个进程,进程间的通信由OpenMPI实现。如果不调用MPI函数(reduce,returnReduce,scatter,gatherList,scatterList)那么这些进程始终是独立的。(3) 网格区块之间使用特殊的边界条件。
2023-03-21 11:12:06
1478
5
原创 OpenFOAM中求解马赫数与y+
OpenFOAM的求解结果不包含马赫数和y+,但可以使用后处理的方式实现计算。而本文给出的方法可以在计算过程中就输出Ma文件和yPlus文件,无须手动后处理。
2023-03-19 21:39:33
1278
原创 Windows查询计算机设备序列号、MAC地址和硬盘序列号
搜索cmd,以管理员身份打开命令提示符,使用命令提示符获取计算机设备序列号、MAC地址和硬盘序列号
2023-03-15 21:17:08
12849
openNN-v5.0.5【无需积分值】
2022-07-20
C语言GSL-2.7科学计算库(已经在Win64编译完成)
2022-02-24
使用D3.js库绘制曲线图
2021-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人