- 博客(115)
- 资源 (3)
- 收藏
- 关注
原创 使用pyevtk导出结构化VTK网格以供后处理
在计算流体力学CFD中,通常需要处理三维网格数据,为了可视化,需要将其输出。本文介绍使用python的pyevtk库输出结构化网格,以供paraview进一步后处理。
2024-08-23 21:47:54 279
原创 Energy-based PINN在固体力学中的运用
物理信息神经网络(Physic informed neural network,PINN)已经成为在有限差分、有限体积和有限元之后的另一种求解偏微分方程组的范式,受到学者们广泛关注。在固体力学领域有两类不同的PINN。
2024-06-26 18:25:09 1145 1
原创 使用python实现:判断任意坐标点在STL几何模型的内部或外部
在STL几何模型处理的过程中,经常需要判断一个点是否在模型的内部。网上给出的资料主要是使用的,而的很少。本文给出了一段精简版的python代码,实现判断任意坐标点在STL几何模型的。
2024-02-07 21:41:27 559
原创 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 2046 2
原创 FreeCAD的python脚本编写
FreeCAD是一款强大的开源CAD软件,可以与python无缝对解,使用python来驱动三维几何的构建,具有很高的灵活性。本文主要讨论一下录制宏的方法,以及如何驱动特定参数。
2024-02-04 17:27:21 1048
原创 极简Matlab快速傅里叶变换FFT
在试验数据处理中, 得到了一串数据, 经常需要提取频谱, 这里就需要运用快速傅里叶变换(FFT).Matlab中可以方便地调用FFT, 但是FFT的结果是, 为了绘制通常意义上的振幅频谱还需要做许多后处理.本文给出了一个极简的代码, 以供大家参考和使用。
2024-01-27 21:06:10 719
原创 CFD-POST如何使用Expression计算某一点处的物理量
CFD-POST是ANSYS Workbench通用的计算流体力学后处理软件,有时我们需要编写表达式Expression计算阻力系数或升力系数,这时就需要获取出口附近某一点处的气体密度(或其他任何物理量)。接下来将介绍如何操作。
2024-01-24 16:44:02 2261
原创 两行代码实现python多进程并行计算
并行计算的方法有许多,在科学计算中“单指令多数据”式的线程级别的并行计算经常使用,可以显著提升代码执行循环语句的速度。python内置的库可以实现循环语句的并行化,不过这里使用的是map而不是for,其本质相同。
2024-01-22 16:17:12 719
原创 python import上级目录的方法
有两个文件夹A和BA文件夹下有a.py代码,而B文件夹下有b.py代码.我们需要在a.py代码中引用b.py代码中定义的函数。
2024-01-18 15:11:51 1064
原创 使用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 2389
原创 python/pytorch读取数据集
MNIST数据集包含了6万张手写数字([1,28,28]尺寸),以特殊格式存储。本文首先将MNIST数据集另存为png格式,然后再读取png格式图片,开展后续训练。
2023-12-27 11:16:12 911
原创 扩散模型U-Net可视化理解
U-Net是生成式扩散模型的核心。它的输入有:(1)带噪声的图片 (2)时间标签 (3)其他条件变量。经过层层运算,得到一个噪声输出。该噪声输出可用于给图片去噪。这里推荐一个diffusion实现手写数字的源代码,适合新手入门。本文主要讲解其中U-Net的工作过程。
2023-12-26 17:18:55 3313
原创 Mathematica强制将函数的自变量由符号转为数值
使用Mathematcia完成函数优化(FindMaximum)十分方便。但是如果优化的目标函数非常复杂,里面嵌套了若干NSolve函数,那么FindMaximum可能会计算非常长时间,甚至无法得到正确结果。原因在于,Mathemtica自动使用“符号计算”方法执行函数,而不是“数值计算”方法。计算速度大幅下降。
2023-10-20 17:06:39 306
原创 Comsol电磁铁仿真
Comsol是一款多物理场仿真软件,可以完成固体力学、流体力学、传热学和电磁学的仿真。本文将介绍使用Comsol完成电磁铁仿真的主要流程,计算铁芯的受力。
2023-10-18 11:33:52 4421 7
原创 Linux系统远程访问另一台Windows系统的解决方案
在windows上安装openssh server,在 linux上安装openssh。通常linux会自带openssh,故这里只讲解windows上安装openssh server的方法。
2023-09-20 10:06:44 1695
原创 PINN神经网络源代码解析(pyTorch)
来源于Github [https://github.com/jayroxis/PINNs](https://github.com/jayroxis/PINNs)
2023-08-16 13:20:40 15958 20
原创 Conda安装第三方库卡在solving environment
安装第三方库(如pytorch)卡在solving environment步骤。
2023-08-13 15:09:03 339
原创 在openFoam中创建cellZone
openFoam的cellZone概念十分重要,可以给一个区域的单元命名,广泛应用于设置初始场(如气、液两相流的初始VOF分布)而cellZone通常由cellSet转化而来,本文将介绍使用cellSet定义cellZone的方法。
2023-07-09 17:28:38 657
原创 在线代码截图网站
通常展示代码时为了美观可以将代码转化为图片,这里推荐一个网站在线代码截图工具,根据输入的源代码,可以生成漂亮的代码图片。本工具可自动识别输入的代码属于哪种程序语言,包括 C、C++、Java、Go、Python、PHP、JavaScript、TypeScript、CSS、HTML 等几十种开发语言,并提供了若干高亮主题,以及相关图片生成选项,以生成不同风格的源码截图。
2023-06-09 15:48:34 231
原创 Ubuntu打不开nautilus文件管理器的解决方法
使用Ubuntu系统有一天突然就不能打开文件管理器了,但是依然可以使用命令行的方式访问文件系统。看来是samba出现了错误。
2023-05-14 17:36:03 1469 1
原创 C++非静态成员函数指针与函数对象
函数对象如同任何其他对象一样可以作为参数(或者引用)传递,十分方便。通常使用std::bind来构造函数对象。相比于函数指针,函数对象更简便、更安全、更直观。
2023-04-03 20:25:55 372
原创 OpenFOAM中的并行计算
(1) 单指令多数据(同一套代码,不同网格数据)(2) 相对独立地运行n个进程,进程间的通信由OpenMPI实现。如果不调用MPI函数(reduce,returnReduce,scatter,gatherList,scatterList)那么这些进程始终是独立的。(3) 网格区块之间使用特殊的边界条件。
2023-03-21 11:12:06 1188 5
原创 OpenFOAM中求解马赫数与y+
OpenFOAM的求解结果不包含马赫数和y+,但可以使用后处理的方式实现计算。而本文给出的方法可以在计算过程中就输出Ma文件和yPlus文件,无须手动后处理。
2023-03-19 21:39:33 946
原创 Windows查询计算机设备序列号、MAC地址和硬盘序列号
搜索cmd,以管理员身份打开命令提示符,使用命令提示符获取计算机设备序列号、MAC地址和硬盘序列号
2023-03-15 21:17:08 8946
原创 openFoam中cellZone的使用及编程
通常在流体计算中需要对某个特定区域进行处理(比如添加源项,可参考这篇文章),这是就需要用到cellZone.通常有两种产生cellZone的方式:(1)从其他划分网格的工具中导入时,自然会对不同实体用cellZone区分。可参考这篇文章(2)在已有的网格上使用topoSet命令生成cellZone本文只关心第二种方式。
2023-03-08 11:12:55 1578
原创 将fluentMeshing网格转换为openFoam网格
fluentMeshing是一个绘制源生的强大工具,其生成的网格可以进一步导出,转换为OpenFoam格式,供OpenFoam计算。本文将介绍如何把fluentMeshing网格转换为openFoam网格,以及其注意事项。
2023-03-06 00:12:32 6605 11
原创 使用visual studio编译Linux C++出现大量报错的解决办法
在Linux操作系统上编写好的C++代码,放在Windows系统上使用Visual studio编译往往不通过,会产生。这是编码不兼容导致的。本文介绍一种解决办法。
2023-03-02 23:12:35 723
原创 使用CMake编译生成Fortran77文件
CMake是一个用于生成C++makefile文件的系统,被广泛应用于项目管理。通过配置,可以使用CMake编译生成Fortran77文件。
2023-02-27 11:50:04 433
原创 D3.js绘图流程
D3.js是由javaScript语言编写绘图库,其原理是:通过调用一系列内置函数,生成SVG,并在网页渲染。本文以频率分布直方图案例为例,介绍使用D3.js的流程
2023-02-18 12:32:28 2186
原创 使用C++的libcurl库实现HTTP的POST请求
libcurl库是由C语言编写的轻量级网络库。可以实现客户端的一些基本功能。本文使用libcurl库实现了HTTP的POST请求。
2023-02-16 15:03:02 1013
原创 openCV连通域的提取与质心标记
openCV的函数可以轻松提取黑白图像的连通域,并给出每个连通区质心的位置。以下图为例我们希望提取图片中的两个白色正方体和一个圆形,并标记它们的质量中心。
2023-02-10 14:12:05 2031
原创 OpenFoam收缩扩张喷管(拉瓦尔喷管)边界条件的设置
waveTransmissive压力边界条件可以适用于各种工况下收缩扩张喷管的计算
2023-01-12 17:22:17 3761 5
原创 OpenFoam中的Simple系列算法
Simple系列算法是求解不可压缩流的主要工具。OpenFoam中提供了SimpleFoam求解器、PisoFoam求解器以完成不可压缩流的求解。但是,导致初学者难以理解代码的含义。笔者推荐一篇Martínez撰写的文章,该文章详细地推导了Simple算法、SimpleC算法和Piso算法。本文将直接使用Martínez的推导结果,将结果与OpenFoam中的代码对应,方便初学者理解代码含义。
2023-01-04 14:29:25 1159
openNN-v5.0.5【无需积分值】
2022-07-20
C语言GSL-2.7科学计算库(已经在Win64编译完成)
2022-02-24
使用D3.js库绘制曲线图
2021-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人