自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (2)
  • 收藏
  • 关注

原创 Abaqus部件间Cohesive单元建立之部件合并法

基于部件合并新思路,本文提出Abaqus中建立0厚度Cohesive单元的新方法。通过先将独立部件合并为含多Cell的单一部件,再利用几何拓扑自动识别内部接触面,成功解决了传统方法在复杂装配体中的连接难题。圆柱体-带孔板实例验证了该方案高效可行。

2025-11-04 12:39:09 1081

原创 Abaqus部件间Cohesive单元模拟的困境与解决方案

针对Abaqus无法直接在独立部件间建立0厚度Cohesive单元的局限,本文提出了一种基于INP文件重构的解决方案。通过整合节点编号体系、重组单元数据并精确定义Cohesive连接,成功实现了部件界面的精确模拟。计算实例验证了该方法的有效性,为复杂装配体界面行为分析提供了可靠的技术路径。

2025-11-01 20:55:15 1068

原创 Abaqus部件间Cohesive单元建立之单元和节点对提取技术

本文基于Abaqus二次开发的Part间Cohesive单元自动建立技术,重点介绍接触面识别后的单元对节点对精确提取方法。通过网格验证、标签匹配和智能对应算法,实现从复杂装配体中自动提取可直接用于Cohesive单元生成的单元节点数据,大幅提升建模效率与准确性。

2025-10-28 11:48:03 652

原创 Abaqus部件间Cohesive单元建立之共面识别技术

本文介绍基于Abaqus二次开发的共面识别技术,通过双模式检测算法自动识别Part间接触表面。该方案支持几何和网格阶段,解决了Cohesive单元建立的关键难题,显著提升复合材料、装配体等工程的建模效率与准确性。

2025-10-27 20:22:30 899

原创 双线性内聚力模型中损伤因子D的数学形式推导与比较

本文深入探讨了双线性内聚力模型中损伤因子D的数学形式推导与物理意义。从物理约束条件出发,通过损伤力学本构关系与线性软化假设的联立求解,推导出损伤因子的必然形式。通过数值方法和解析方法的双重验证,在四种不同加载路径下进行了能量守恒分析,结果表明标准公式能够确保应力在软化阶段严格线性下降,实现断裂能为材料常数且与加载历史无关,而线性公式则会导致应力非线性衰减和能量耗散与路径相关。

2025-10-21 09:33:53 1045

原创 从能量到位移:混合模式分层失效临界位移推导

本文推导了复合材料混合模式分层的临界位移公式,将宏观的B-K能量准则,转化为可在有限元中使用的微观失效判据。

2025-10-18 22:49:31 773

原创 从应力到位移:混合模式分层损伤起始点推导

通过公式推导,把判断分层开始的“应力准则”,转化成模拟中可用的“临界位移”。推导的关键是引入了“模式混合比 (β)”来刻画不同受力模式的相互作用,从而导出了一个通用公式 δₘᵒ。这个公式适用于从纯拉伸到纯剪切的所有情况,让计算机能精准找到损伤的起点。

2025-10-18 17:44:09 519

原创 物理信息神经网络(PINNs)在悬臂梁分析中的应用研究

本文将探讨PINNs在悬臂梁力学分析中的应用,展示如何利用这一技术解决工程力学中的经典问题。本文成功应用PINNs解决了悬臂梁弯曲问题,验证了该方法在结构力学中的有效性。PINNs的核心思想是将物理定律直接嵌入神经网络的学习过程中。与传统神经网络不同,PINNs不仅学习数据本身,还学习控制物理系统的微分方程。我们考虑一个长度为L=10m的悬臂梁,自由端受到P=-1000N的集中载荷作用,抗弯刚度EI=1×10⁶N·m²。这种方法为工程力学分析提供了新的数值工具,特别适用于传统方法难以处理的复杂问题。

2025-05-18 00:45:32 1431

原创 借助AI你也可以轻松生成随机混凝土多面体骨料+ITZ三维几何模型

混凝土几何建模的核心困难源于其。

2025-04-06 10:59:55 1407

原创 轻量级与定制化:两种API方案解锁DeepSeek-R1的办公潜能

本文基于硅基流动提供的APIkey,通过设置Chatbox和开发MS Word宏调用DeepSeek-R1,仅供大家参考。任何新生事物对世界、国家、社会和个人的影响总是有好有坏的,如何趋利避害也是值得认真思考的课题。

2025-02-22 13:53:39 1292 1

原创 Fortran调用C++动态链接库实践篇

本文通过Fortran对C++的动态链接库的调用,实现了Fortran与C++之间内置变量、派生变量、子例程定义的方法调用,在基本操作的基础上,还实现了Fortran对C++定义的类使用,通过这些常见场景的实现,展现了Fortran/C++混合编程的魅力。

2023-06-26 11:20:18 1986

原创 CGAL-Triangulation中的单元和面的关系

CGAL提供的数据结构一方面能够满足对几何体的几何信息和拓扑的描述,另一方面也要照顾算法灵活性和广泛性的需要,要能够满足算法的需要。本文通过一个示例去查看CGAL-Triangulation中的单元和面的关系。...

2022-08-07 11:52:58 903

原创 CGAL预定义内核转换的问题

为了用户方便,CGAL针对笛卡尔坐标计算提供了5种预定义内核常用的是前三种,特别是第一种和第二种,但是第一种和第二种不会混用,但是第二种和第三种可能会出现混用的情况,因而会有内核转换的问题。...

2022-07-27 14:54:29 956 1

翻译 空间点集的三角剖分工具——四面体生成器(TetGen)和三维三角剖分包(CGAL)

TetGen - Tetrahedral GeneratorTetGen是一款四面体网格生成器。它创建多面体域的三维三角剖分。它能生成具有良好形状的单元网格,单元大小适合于几何特征或用户提供的尺寸函数。它在科学计算的各种应用中都有应用,如计算机图形学(CG)、计算机辅助设计(CAD)、几何处理(参数化和计算机动画)和物理模拟(有限元分析)。TetGen的功能 对于一组3d(加权)点,TetGen生成Delaunay和 weighted Delaunay四面体网格以及它们的对偶,Voronoi图

2022-05-19 10:48:42 8286 1

翻译 Cmake中文教程(十二)【2022.05.12】

第 12 步:打包调试和发布注意:此示例对单配置生成器有效,不适用于多配置生成器(例如 Visual Studio)。默认情况下,CMake 的模型是构建目录只包含一个配置,无论是 Debug、Release、MinSizeRel 还是 RelWithDebInfo。但是,可以将 CPack 设置为捆绑多个构建目录并构建一个包含同一项目的多个配置的包。首先,我们要确保调试和发布版本对将要安装的可执行文件和库使用不同的名称。让我们使用d作为调试可执行文件和库的后缀。CMAKE_DEBUG_PO

2022-05-12 21:58:19 980

翻译 Cmake中文教程(十一)【2022.05.12】

# 第 11 步:添加导出配置在本教程的“安装与检测”一节中,我们添加了 CMake 安装项目的库和头文件的功能。在“封装与安装”一节中 ,我们添加了封装信息的功能,以便将其分发给其他人。下一步是添加必要的信息,以便其他 CMake 项目无论是从构建目录、本地安装还是封装时都可以使用我们的项目。第一步是更新我们的install(TARGETS)命令不仅可以指定 一个DESTINATION,还可以指定EXPORT。EXPORT关键字生成一个 CMake 文件,其中包含从安装树导入 install

2022-05-12 21:36:11 2171 2

原创 基于CGAL、Qt5两层嵌套动态链接库的Cmake实现

基于CGAL、Qt5两层嵌套动态链接库的Cmake实现1. 问题由来因需要开发了一款基于CGAL的处理三维几何的子程序(简称子程序B),该子程序B被主程序A调用,我们知道CGAL还可以调用Qt5库用于图形显示,因此为了实现这一目标,设想利用Cmake制作一个可供主程序A调用的dll,此dll可调用CGAL,而CGAL又可调用Qt5。程序A、B、CGAL、Qt5之间的流程:主程序A->子程序B->CGAL->Qt5Cmake实现子程序B封装成B.dll后:主程序

2022-05-12 11:53:48 775

翻译 Cmake中文教程(十)【2022.05.10】

第 10 步:添加生成器表达式Generator expressions在构建系统生成期间进行评估,以生成特定于每个构建配置的信息。Generator expressions在许多目标属性的上下文中是允许的,例如LINKLIBRARIES, INCLUDEDIRECTORIES,COMPILEDEFINITIONS和别的。它们也可以在使用命令填充这些属性时使用,例如 targetlinklibraries(),targetincludedirectories(), targetcompile_def

2022-05-10 21:53:45 396

翻译 Cmake中文教程(九)【2022.05.10】

第 9 步:选择静态或共享库在本节中,我们将展示如何使用BUILDSHAREDLIBS变量控制add_library()的默认行为, 并允许控制如何构建没有显式类型 ( STATIC、SHARED、 MODULE或OBJECT)的库。为此,我们需要添加BUILDSHAREDLIBS到顶层CMakeLists.txt。我们使用option()命令,因为它允许用户有选择地选择该值是否应该是ON或OFF。接下来我们将重构MathFunctions成为一个用mysqrt或sqrt封装起来的真正的库,而不

2022-05-10 21:25:22 498

翻译 Cmake中文教程(八)【2022.05.10】

第 8 步:添加对测试仪表板的支持添加对向仪表板提交测试结果的支持很简单。我们已经在“测试支持”中为我们的项目定义了许多测试。现在我们只需要运行这些测试并将它们提交到仪表板。为了包括对仪表板的支持,我们需在顶层 CMakeLists.txt包含 CTest模块。用:*CMakeLists.txt* # enable dashboard scriptinginclude(CTest)去替代:*CMakeLists.txt* # enable testingenable_tes

2022-05-10 21:04:58 445

翻译 Cmake中文教程(七)【2022.05.10】

第 7 步:打包安装程序接下来假设我们想将我们的项目分发给其他人,以便他们可以使用它。我们希望在各种平台上提供二进制和源代码分发。这与我们之前在“安装与测试”中进行的安装有点不同,在那一节中,我们正在安装从源代码构建的二进制文件。在此示例中,我们将构建支持二进制安装和包管理功能的安装包。为此,我们将使用 CPack 创建平台指定的安装程序。具体来说,我们需要在顶层CMakeLists.txt文件的底部添加几行。*CMakeLists.txt* include(InstallRequiredSys

2022-05-10 20:46:45 300

翻译 Cmake中文教程(六)【2022.05.10】

第 6 步:添加自定义命令和生成的文件假设,出于本教程的目的,我们决定永远不想使用平台log和exp函数,而是想生成一个预先计算的值表以在mysqrt函数中使用。在本节中,我们将创建表作为构建过程的一部分,然后将该表编译到我们的应用程序中。首先,让我们删除 MathFunctions/CMakeLists.txt中的对log和exp函数的检查。然后从mysqrt.cxx 中删除HAVEEXP和HAVELOG检查。同时,我们可以删除.#include <cmath>在MathFunct

2022-05-10 20:27:08 318

翻译 Cmake中文教程(五)【2022.05.10】

第 5 步:添加系统自省让我们考虑在我们的项目中添加一些代码,这些代码取决于目标平台可能没有的功能。对于这个例子,我们将添加一些代码,这些代码取决于目标平台是否具有log和exp 功能。当然,几乎每个平台都有这些功能,但在本教程中假设它们并不常见。如果平台有log,exp那么我们将使用它们来计算函数 mysqrt中的平方根。我们首先使用 MathFunctions/CMakeLists.txt中的 CheckSymbolExists模块。在某些平台上,我们需要链接到 m库。如果最初没有找到log,e

2022-05-10 20:08:05 227

翻译 Cmake中文教程(四)【2022.05.10】

第 4 步:安装和测试现在我们可以开始为我们的项目添加安装规则和测试支持。安装规则安装规则相当简单:对于 MathFunctions,我们要安装库和头文件,而对于应用程序,我们要安装可执行文件和配置的头文件。所以在 MathFunctions/CMakeLists.txt最后我们添加:*MathFunctions/CMakeLists.txt* install(TARGETS MathFunctions DESTINATION lib)install(FILES MathFunct

2022-05-10 19:46:52 272

翻译 Cmake中文教程(三)【2022.05.10】

第 3 步:为库添加使用要求使用要求允许更好地控制库或可执行文件的链接和包含行,同时还可以更好地控制 CMake 中目标属性的传递。利用使用要求的主要命令是:target_compile_definitions()target_compile_options()target_include_directories()target_link_libraries()让我们从 Adding a Library重构代码以使用现代 CMake的使用要求方法。我们首先声明,任何链接到Math

2022-05-10 19:19:49 355

翻译 Cmake中文教程附完整代码(二)【2022.05.10】

第 2 步:添加库现在我们将在我们的项目中添加一个库。这个库将包含我们自己的计算平方根的实现。然后可执行文件可以使用这个库而不是编译器提供的标准平方根函数。对于本教程,我们将把库放到一个名为MathFunctions子目录中. 这个目录已经包含了一个头文件 MathFunctions.h,和一个源文件mysqrt.cxx。源文件有一个调用函数mysqrt,它提供与编译器函数sqrt类似的功能。将以下仅一行命令的CMakeLists.txt文件添加到MathFunctions 目录中:*Ma

2022-05-10 19:04:57 650

翻译 Cmake中文教程附完整代码(一)【2022.05.10】

第 1 步:基本起点最基本的项目是从源代码文件构建的可执行文件。对于简单的项目,只需要一个三行CMakeLists.txt文件。这将是我们教程的起点。在目录中创建一个 CMakeLists.txt文件,Step1如下所示:*CMakeLists.txt* cmake_minimum_required(VERSION 3.10)# set the project nameproject(Tutorial)# add the executableadd_executable(Tutori

2022-05-10 17:35:40 1013

原创 C++与Fortran动态链接库之间的数据传递

前一篇文章讨论了C++程序对Fortran动态链接库中的函数调用,其数据交换主要在Fortran程序之间,而没有出现在两种语言之间。本节将探讨C++与Fortran动态链接库之间的数据交换。数据交换有多种方式,例如通过函数的参数传递、指针、全局变量等等。C++与Fortran这两种语言之间一般变量(变量或数组等)的数据传递比较容易,但自定义数据类型的数据交换则略显困难,主要是因为两种语言对于自定义数据类型的内存管理方式存在差异(?有待进一步考证)。示例如下。1、Fortran90 程序在Fo

2022-05-09 19:51:22 1612

原创 C++调用Fortran动态库说明

一、 C++直接调用Fortran动态库函数1.建立Fortran动态库项目须在Fortran程序文件中添加Compiler Directives语句:!DEC$ ATTRIBUTES DLLEXPORT::(程序名)程序示例如下图所示。2.生成.lib和.dll文件编译,链接(即生成解决方案)Fortran源代码生成相应的.lib和.dll库文件。3.编辑并运行C++程序建立C++控制台项目,项目->属性->链接器->输入->附加依赖项 中加

2022-05-09 19:48:14 2464

原创 C++生成dll和调用dll以及利用CMAKE生成c++ dll的问题

一、dll生成1、设置项目属性:打开vs,建立空项目,在项目的 配置属性->常规->项目默认值->配置类型 修改为:动态库(.dll)2、准备文件:填写头文件和源文件,注意头文件的声明,源文件正常。—————————————————————————————————————| 头文件: ...

2022-05-09 19:33:35 5624

原创 关于ANSYS安装中出现Invalid License file the FLexlm ID in thefile does not match the system Flexlm ID的解决方法

问题可能是因为计算生成License文件时默认使用计算机内第一个(而不是正在使用的)网络地址所致,解决方法:1.      打开License.txt2.      点击“开始”——点击“运行”——输入“cmd”回车——输入“ipconfig/all”回车3.      看看License.txt文件第一行是不是和上面出现的某一物理地址相同涂黑的部分是计算机名,这个在安装时必须和”我的电脑”——”...

2018-07-14 18:06:25 16385 1

Fortran 95

This is a revised, expanded, and updated version of the original book Fortran 90 which appeared when Fortran 90 was first launched as an international standard programming language some five years ago. This book conforms to the proposed new Fortran 95 standard, but the new features are clearly marked as such so that the book can be used without difficulty by those who are continuing to use Fortran 90. It is designed to be useful both as a textbook for those new to programming and also as a fully up-to-date reference book for more experienced computer users.

2009-06-14

fortran 90 for engineers and scientists

The Fortran 90 standard represents the first significant change in Fortran in over 20 years, and brings it into line with most modern structured programming languages. This book is one of a handful on Fortran 90, and one of even fewer in which every program (unless otherwise clearly stated) has been tested on a working compiler: the FTN90 compiler for PCs.

2009-06-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除