CAx
文章平均质量分 83
JiNan.YouQuan.Soft
这个作者很懒,什么都没留下…
展开
-
数值积分:数值积分方法
数值分析(也称计算方法)主要包括等内容。本文将罗列的若干内容。原创 2024-08-31 09:41:33 · 190 阅读 · 0 评论 -
数值计算引擎:搭建远程容器开发环境
大型CAE软件开发技术栈通常依赖多个第三方库,因此从零开始配置开发、编译、运行等环境通常较为繁琐。但随着公司的发展壮大,却经常需要为新加入的成员配备相应的开发环境;另外,有时候也需要为软件多个不同配置准备相应的环境。这种重复性的工作会消耗团队许多时间成本。由于容器提供了轻量级的、独立的运行环境,可以考虑将软件开发、编译、运行等环境打包成镜像,然后根据需要生成对应的容器即可。而且,VS Code Remote Developement 插件也提供了针对远程容器的开发支持。原创 2024-08-16 22:03:19 · 635 阅读 · 0 评论 -
Windows下编译安装PETSc
本文记录在Windows下使用MinGW-w64编译安装PETSc的流程。原创 2024-08-09 22:32:28 · 399 阅读 · 0 评论 -
MinGW-w64编译安装Acise
Acise(Axndustrialoftwarecology)是一款跨平台的CAx软件开发框架,本文记录在Windows下编译安装Acise的流程。原创 2024-08-03 14:57:08 · 470 阅读 · 0 评论 -
数值计算引擎:设计原则、关键组件
在前面的博文中,已就大型CAE软件等内容进行了分析总结。求解器无疑是整个CAE仿真计算中最为关键的部分,因此,后续博文将对这一领域的开发技术做些研究。也希望大家批评指教。本文以笔记的形式记录求解器开发相关的一些工具。原创 2024-08-03 10:37:09 · 189 阅读 · 0 评论 -
Windows下编译安装Kratos
Kratos是一款开源跨平台的多物理场有限元框架。本文记录在Windows下编译Kratos的流程。原创 2024-07-26 22:29:54 · 645 阅读 · 0 评论 -
VTK源码分析:Type System
作为一款开源跨平台的数据可视化代码库,VTK以其清晰的流水线工作方式、丰富的后处理算法、异种渲染/交互方式,而被众多CAx软件选作后处理实施方案。而异种渲染/交互方式的实现,主要是倚重于VTK的类型系统,因此,有必要对这个问题予以研究分析。另外,结合前面对FreeCAD类型系统的分析,本文旨在导出类型系统在设计与实现等方面的(非)技术约束。原创 2024-07-20 12:57:52 · 437 阅读 · 0 评论 -
FreeCAD源码分析:Serialization
序列化(Serialization)是在程序运行时将对象转换成字节流的过程,进而将二进制字节流罗盘到文件系统或者通过网络发送到远端。而反序列化(Deserialization)则恰恰相反,是由二进制字节流重新构建对象的过程。原创 2024-07-17 12:02:00 · 348 阅读 · 0 评论 -
FreeCAD源码分析:Type System
虽然C++11引入了RTTI、Metaprogramming 等技术,但C++在Reflection方面依旧功能有限。作为反射系统的组成部分,类型系统(Type System)提供运行时类型信息(RTTI)、依据类名创建对象等功能。在FreeCAD中,类型系统是插件式开发框架、分层架构等核心实现的基础,因此,有必要对这个基础问题予以研究分析。原创 2024-07-16 16:10:45 · 988 阅读 · 0 评论 -
FreeCAD源码分析:Property System
按照面向对象设计(Object-Oriented Design, OOD)的信条,OOD大体上包括两方面的内涵:一方面,需要将业务数据抽象成(树状/层状)数据对象,这就是所谓的数据对象模型(Data Object Model);另一方面就是职责的分摊与聚合,将业务逻辑分摊到逻辑单元,逻辑单元之间通过预定义的接口完成交互,进而完成功能/逻辑的聚合,这也就是所说的面向接口编程(Interface-Oriented Programming)。原创 2024-07-10 16:15:56 · 1261 阅读 · 0 评论 -
SALOME源码分析:View Model
作为一款开源的CAx(CAD/CAE/CAM)软件集成平台,为了实现各个Module支持不同的数据显示与交互方案,出于扩展性的考虑,SALOME引入了View Model,用以支持OpenGL、OCC、VTK、ParaView、Qwt等数据显示与交互实现。本文将以OCCViewer、SVTK为例,来阐述SALOME中的View Model相关内容。原创 2024-07-04 12:00:05 · 728 阅读 · 0 评论 -
Git笔记
本文将以笔记的形式记录Git的基础原理与常用操作范式。原创 2024-07-03 13:56:06 · 396 阅读 · 0 评论 -
Qt源码分析:窗体绘制与响应
作为一套开源跨平台的UI代码库,窗体绘制与响应自然是最为基本的功能。在前面的博文中,已就Qt中的元对象系统(反射机制)、事件循环等基础内容进行了分析,并捎带阐述了窗体响应相关的内容。因此,本文着重分析Qt中窗体绘制相关的内容。在本文最后,通过FreeCAD SheetTableView单元格缩放功能的实现,来对研究分析予以检验与测试。原创 2024-06-29 13:03:54 · 1114 阅读 · 1 评论 -
SALOME源码分析:MDF框架
SALOME是由EDF、CEA、Open CASCADE等联合开发的开源CAE集成平台。作为一款开源CAE软件集成平台,SALOME以其现代化的架构设计、良好的扩展性,提供了几何建模、网格生成、数据同化、求解器调用、后处理可视化、流程管理、作业管理等方面的支持。而这一切,主要得益于SALOME的模块化开发框架(Modular Development Framework, MDF)。原创 2024-05-28 15:29:23 · 1105 阅读 · 0 评论 -
The view model in Acise
在FreeCAD中,借助于Boost Signals2实现了业务层、显示层的分层,但整个FreeCAD Gui层却采用了Coin3D进行渲染,因此,很难在这方面进行扩展。相较之下,在SALOME中,可以为不同的Module指定特定的ViewModel,支持OpenGL、OCC、VTK、ParaView、Qwt等多种渲染方式。原创 2024-05-26 11:12:32 · 1622 阅读 · 0 评论 -
计算电磁学:FDFD算法总结
FDFD(Finite Difference Frequency Domain)在Yee格子上使用有限差分求解频域Maxwell方程组。本文通过FDFP差分方程组的推到来概述FDFP的原理。原创 2024-05-20 17:24:55 · 1310 阅读 · 0 评论 -
The object model in Acise
在FreeCAD中,整体上采用了分层架构,同时借助于Python完成了module管理;在SALOME中,提供了基于Module的分层数据模型。原创 2024-05-16 15:45:13 · 909 阅读 · 0 评论 -
从RTTR谈Reflection机制
虽然C++11引入了RTTI、Metaprogramming 等技术,但C++在Reflection方面依旧功能有限。在社区上,RTTR则提供了一套C++编写的反射库,补充了C++在Reflection方面的缺陷。原创 2024-05-14 10:40:49 · 1417 阅读 · 0 评论 -
The forms of the layered MVP in Acise
在Layered MVP架构中,Model负责业务逻辑,View负责用户界面,Presenter处于Model与View之间,一方面将Model数据转换成界面数据,另一方面将用户界面输入投递到Model层。原创 2024-05-06 15:54:12 · 1025 阅读 · 1 评论 -
Windows11下编译FreeCAD 0.21.2
本文记录Windows11下编译FreeCAD 0.21.2的流程。原创 2024-04-25 10:32:45 · 1773 阅读 · 7 评论 -
The layered MVP architecture in Acise
Acise是一款CAx软件开发平台,本文给出Acise中的MVP架构模式的实现思路。原创 2024-04-22 12:25:10 · 1089 阅读 · 1 评论 -
CAx工业软件Acise的设计文档
本文公开CAx软件Acise系统设计、代码实现等研发过程中的部分技术选型资料,希望对从事国产CAx软件研发的朋友们有所帮助。原创 2024-04-20 11:30:26 · 757 阅读 · 0 评论 -
数值最优化:粒子群算法
粒子群算法(Particle Swarm Optimization, PSO)是Kennedy博士于1995年提出的一种数值最优化算法。本文简述粒子群算法的原理与操作流程。原创 2024-04-06 09:23:59 · 910 阅读 · 0 评论 -
OpenCASCADE源码分析:总论
OpenCASCADE是20世纪90年代由法国Matra Datavision公司开发的一款开源三维曲面/实体造型引擎,目前,国内许多CAE软件将其用作几何模块的开发。本文拟从系统设计的角度,对OpenCASCADE架构(主要组件与关键流程)进行概要性总结。原创 2024-04-04 00:15:41 · 1239 阅读 · 0 评论 -
Qt源码分析:QMetaObject实现原理
Qt基于QMetaObject实现了信号/槽机制、属性机制等多个功能特性,而QMetaObject实际上是实现了一种反射机制。本文拟对QMetaObject实现原理予以分析。原创 2024-03-25 19:52:48 · 905 阅读 · 0 评论 -
大型CAx(CAD/CAE/CAM)软件研发中的职责编排
依据对SALOME、FreeCAD等开源软件的研究,同时结合开发实践,总结了CAx软件开发中的部分研究心得。原创 2024-03-23 21:34:25 · 1738 阅读 · 0 评论 -
Qt源码分析: QEventLoop实现原理
QEventLoop屏蔽了底层消息循环实现细节,向上提供了与平台无关的消息/事件循环。本文拟对Windows系统下QEventLoop的实现原理予以分析。原创 2024-03-17 09:57:05 · 1340 阅读 · 0 评论 -
计算电磁学:FDTD算法总结
计算电磁学(Computational Electromagnetics, CEM)是通过数值计算来研究电磁场的方法。数值求解电磁学问题的方法可以分成频域(Frequency Doamin, FD)、时域(Time Domain, TD)等两类。频域法基于时谐微分,通过对多个采样值的傅里叶逆变换得到所需的脉冲响应,使用这种方法,每次计算只能求得一个频率点上的响应。这类方法包括矩量法(Method of Moment, MoM)、频域有限差分(Finite Difference Frequency D原创 2024-02-24 01:09:21 · 3208 阅读 · 0 评论 -
CAx软件中若干C++日志库
对于大型CAx软件系统,特别是采用远程计算模式的系统,需要监测/统计软件运行状态、分析/定位软件异常等。良好的日志系统,无疑会对这方面的需求有所裨益。考虑到CAx软件核心大都采用C/C++设计,因此,需要对C/C++日志库予以总结。原创 2023-10-28 12:27:24 · 535 阅读 · 0 评论 -
Scripting: Higher Level Programmingfor the 21st Century
转载:Scripting: Higher Level Programming for the 21st Century转载 2023-10-18 21:22:49 · 476 阅读 · 0 评论 -
Acise: A CAx Industrial Software Ecology
A CAx Industrial Software Ecology.原创 2023-10-15 09:13:37 · 1253 阅读 · 0 评论 -
WebGL: 几个入门小例子
本文通过WebGL例子,来帮助WebGL入门学习。原创 2023-08-04 23:21:41 · 1185 阅读 · 0 评论 -
数值线性代数: Krylov子空间法
本文旨在总结线性方程组求解的相关算法,特别是Krylov子空间法的原理及流程。原创 2023-07-26 20:41:15 · 5966 阅读 · 0 评论 -
数值线性代数:奇异值分解SVD
本文记录计算矩阵奇异值分解SVD的原理与流程。原创 2023-07-25 14:33:26 · 1908 阅读 · 1 评论 -
数值线性代数:知识框架
记录数值线性代数研究的知识框架。原创 2023-07-23 13:45:15 · 1093 阅读 · 0 评论 -
Windows下编译安装ARPACK
ARPACK采用Arnoldi算法求解大型稀疏矩阵特征值。本文拟记录在Windows下编译安装ARPACK的流程。原创 2023-07-14 20:13:59 · 926 阅读 · 1 评论 -
数值线性代数:Arnoldi求解特征值/特征向量
线性方程组求解、特征值问题是数值线性代数的主要研究内容。力学、电磁等许多问题,最终都可以归结为特征值、特征向量的求解。ARPACK使用IRAM(Implicit Restarted Arnoldi Method)求解大规模系数矩阵的部分特征值与特征向量。了解或者熟悉IRAM算法,必定有助于更好地使用ARPACK中相关特征值求解函数。本文拟就ARPACK中特征值求解的IRAM算法进行分析,希望对从事相关研究的朋友们有所帮助。原创 2023-07-12 22:18:28 · 1468 阅读 · 0 评论 -
Windows下编译安装VTK
本文旨在记录在Windows下编译安装VTK的流程。原创 2023-07-07 21:27:23 · 922 阅读 · 1 评论 -
Windows下编译安装Acise
Acise是济南友泉软件公司自主研发的一套跨平台的通用CAx(CAD/CAE)软件开发框架,本文旨在记录在Windows下编译安装Acise的流程。原创 2023-06-16 23:17:53 · 1240 阅读 · 0 评论 -
典籍翻译:Architectural Styles and the Design of Network-based Software Architectures
本文拟对Fileding的博士论文进行翻译,按照"信、达、雅"的原则,在翻译过程中,力求尊重原文原意,同时兼顾语言的通顺间接。翻译 2023-05-27 12:05:13 · 853 阅读 · 1 评论