软件介绍: AFEPack 软件 (李若, 刘文斌)

二维泊松方程的虚拟有限元方法数值分析 该文章是对齐次边界条件的二维泊松方程的虚拟有限元方法的误差分析,是参考了别人文章,并对证明过程细化,基本自成体系,读者再需要一些不等式的知识,比如柯西不等式、柯西施瓦茨不等式、庞加来不等式即可。想学习虚拟有限元的可以作为参考,在文章最后给了刚度矩阵和荷载向量的计算公式。不尽之处还望指出! 立即下载
软件介绍: AFEPack 软件 (李若, 刘文斌)
Date: Wed, 6 Oct 2004 12:32:00 +0800
From: li ruo <rli@math.pku.edu.cn>

AFEPack 软件
(作者:北京大学数学院, 李若)
Website: http://dsec.pku.edu.cn/~rli

1. 设计原则

AFEPack 是刘文斌教授和作者开发的一个自适应有限元软件包。这个软件包的设计时候的基本用户对象是做数值计算的研究人员,所以最主要的目标在于帮助研究人员节省程序设计的时间,而在一定程度上牺牲了程序运行的效率。对于研究工作而非工程人员来说,最重要的是在对研究工作有了新的想法以后,能够在比较短的时间内迅速将想法进行实现,验证并改进自己的想法,而不是追求写出的代码能够达到效率上的最优。使用相同风格的代码,也可以对不同算法的效率进行可信的比较。由于整个算法中最耗时间的常常是像求解大型稀疏线性方程组这样的部分,AFEPack 的效率不能达到最优的部分却在程序的其它部分,所以对于复杂的问题,AFEPack 总体上的效率还是相当高的。但是由于它灵活的结构,AFEPack 常常能够将需要长达几个星期甚至几个月的开发时间缩短到几个小时,因而作者认为,AFEPack 能够很大程度上提高我们的研究工作的效率。

AFEPack是一个开放源码的软件,遵从GPL协议。您可以在我的主页上的"数值计算软件"链接上得到软件包的源码和详细的安装介绍。

2. 结构和功能

AFEPack 从逻辑上对于使用者来说,可以分成三个层次:

第一个层次是基本的有限元空间的支持模块,这个模块能够支持网格中的单元几何形状任意的网格上建立任意的自由度分布和基函数的有限元空间。

整个有限元空间的自由度的管理是完全自动化的,有限元空间上的基函数是使用各个单元上的形函数自动进行识别连接起来成为基函数的。具体地来说,程序事实上被设计为和具体的单元的几何形状以及单元上的自由度分布和基函数无关,从而网格可以是各种单元混排的网格而我们在程序中却没有丝毫实现上的难度,这是AFEPack 能够帮助我们节省大量的开发时间的一个关键之处。程序具有很大的维数无关性,我们的程序能够是一维的、二维的、三维的甚至是更高维的,我们都能完成自由度的自动管理和有限元空间的自动建立。上面的设计使得我们的程序能够被最大程度地被重用。

第二个层次是有限元自适应支持模块,这个模块能够进行h-自适应,并能够处理多套h-自适应网格的之间的操作。

AFEPack 中的h-自适应算法支持大幅度的网格操作,并具有核心算法的维数无关性,实现起来简单清楚,并使得代码重用率非常高。我们的h-自适应模块现在只能进行二维和三维的单纯形上的自适应操作。这个模块还加入了一部分进行r-自适应的代码,现在可以支持二维的三角形上的、基于调和映照移动网格方法。整个层次的用户接口是基本上与维数无关的,从而使得用户的程序也将具有非常大程度的重用率。

第三个层次是应用层次,事实上就是使用者开发的程序,所以这个层次在我们的程序包中只是一个逻辑上的概念,因为我们这个软件包设计的理念就是将用户本身也纳入了整个程序包的开发之中。所以您如果使用AFEPack 进行了开发以后,整个应用程序和软件包是整个连接在一起的。

3. 应用和展望

我们现在这个软件包已经在很多问题中进行了应用,包括一系列的最优控制问题的计算、移动网格方法的多个应用、求解Fokker-Planck方程、参数识别问题、不可压流体、金属结晶的模拟等。但其中大部分应用都是我自己开发的,其他的用户只有几个。主要的原因在于我们现在已经没有任何资金的支持,不能进行比较好的推广活动,另外也不能有专业的文档维护人员,使得我们的软件包的文档不像其他类似的软件包一样完备,我们期望以后能够改善这些方面。我在上个暑假在湘潭大学给研究生进行一个星期的介绍性的讲座,本学期的每周六上午进行推广AFEPack的系列讲座,并建立了软件包的主页以及义务负责软件包使用的技术支持。

AFEPack 近期的发展也还比较活跃。我们加入了间断Galerkin方法的支持以及对向量值基函数的支持,并排除了以前程序中的多个 BUG。一些例子程序和实用的小工具也都被陆续加入到了程序包中,我们最新加入的文档都尽量使用汉语。

The AFEPack Handbook

Robert Lie & Steve Liu

http://circus.math.pku.edu.cn/AFEPack/

EasyMesh -平面有限元网格剖分 很好用二维有限元网格剖分程序,基于开源软件构建,VC2012下测试通过 立即下载

相关推荐

AFEPack.pdf.tar.gz_AFEPack_moving mesh_有限元自适应_自适应有限元_自适应网格

用移动网格来实现自适应有限元方法,一个不错的软件包

AFEPack 使用 Tutorial(一):解二维泊松方程

申明 这只是阅读了 AFEPack 自带的文档,并结合简单的 Poisson Equation 的理解。 今后需要使用 AFEPack,就吧这个做一个学习笔记。关于 AFEPack 的编译和安装方面笔记,以后再写。 关于 AFEPack AFEPack 是北大理学院李若教授写的一个开源 PDE 求解软件包。功能非常强大。 路径设置 AFEPack 编译完成后,需要设置以下的路径信息。 AFEPack 基础路径 该路径用于定义 AFEPack 源码所在。假设我们将 AFEPack 安装在 /usr/local

努力中的老周的专栏 1740

逆向实战:如何绕过iTunes 12.6.5.3的反调试机制(附X64dbg插件配置)

本文深入剖析了iTunes 12.6.5.3的反调试机制与登录协议。通过X64dbg动态调试与IDA静态分析,详细演示了如何绕过其反调试检测,并定位到核心的登录协议加密函数,揭示了其请求签名(X-Apple-ActionSignature)的生成逻辑与依赖关系,为客户端安全研究与协议分析提供了实战思路。

weixin_29202213的博客 742

AFEPack 使用 Tutorial(三):解三维泊松方程

AFEPack Step by Step Tutorial 3: solve 3D Poisson Equation 这个 Tutorial 和前面两个不同。前面两个 Tutorial 都是 AFEPack 自带的例子,这个 Tutorial 可以认为是在 2D Poisson Equation 的基础上改进,将原来的 2D 方程变成 3D。 3D Poisson Equation 这里,三维泊松方程定义 {−Δu(x,y,z)=f(x,y,z),(x,y,z)∈Ωu(x,y,z)∣∂Ω=u0(x,y,z)

努力中的老周的专栏 3235

(3万字深度解析)Kaggle《房价预测:高级回归技巧》详解复现攻略

在这篇教程式文章中,我们从零开始完成了 Kaggle《房价预测:高级回归技巧》比赛的复现工作,涵盖了数据预处理、特征工程、模型训练、调优、解释和融合的完整流程。深入理解数据:阅读数据描述,结合常识对每个特征作出合理处理(如缺失值填充’None’表示无此设施 、异常值剔除 等)。对目标和偏态特征进行对数变换,使分布更平滑,从而更好满足模型假设并提升准确度。特征工程:我们创造了总面积、总浴室等新特征,整合信息提高模型可学习性。

qq_38334677的博客 1776

树上柑橘检测实战:自制数据集与YOLO训练全流程复盘

目标检测模型的性能上限往往由训练数据决定,尤其在农业视觉这样的复杂场景中,公开数据集与真实环境的差异常导致模型漏检、误检频发。高质量的标注数据是模型泛化的基础,从采集、清洗到统一标注规范,每一步都直接影响最终效果。对于检测任务而言,VOC与YOLO两种主流标注格式的转换是工程落地的常见环节,理解坐标归一化原理并做好校验,能有效避免训练事故。在模型训练阶段,合理划分数据集、谨慎选择数据增强策略,并结合切片推理解决小目标漏检,是果园场景下提升精度的关键。这套基于2511张果树图像的单类别检测流程,不仅支撑了柑橘

weixin_29057163的博客 232

[笔记1.1]学习AFEPack起点准备

话说旁门左道始终不及名门正派,所以强烈推荐软件包作者的BLOG:http://rli.bloghome.cn/  !!!如上课一般讲解,娓娓道来。 [AFEPack学习起点]:The AFEPack Handbook : http://circus.math.pku.edu.cn/AFEPack/学习AFEPack使用的“Step by Step Tutorial”(英)http://circu

HateCode的胡言乱语 5153

Python爬虫实战:研究Pandas,构建车质网各车型数据采集和分析系统

研究结果表明,通过网络爬虫技术可以有效地获取公开的汽车投诉数据,这些数据经过适当的清洗和处理后,可以揭示出丰富的汽车质量信息。)作为国内专业的汽车质量投诉受理平台,自 2010 年成立以来,已累计接收消费者投诉信息超过 200 万条,这些数据包含了车型、投诉时间、投诉问题、处理状态等多维度信息,具有极高的分析价值。:通过对车质网数据的分析,能够挖掘出有价值的汽车质量信息,为消费者购车提供参考,为汽车厂商改进产品质量和服务提供依据,同时也能为相关监管部门提供数据支持。

ylfhpy的博客 939

AFEPack:提升音频处理效率的新锐工具

AFEPack:提升音频处理效率的新锐工具 在数字时代,音频处理已经成为许多开发者、音乐制作人和媒体创作者不可或缺的一部分。今天我们要介绍的是一个高效便捷的音频处理库——AFEPack。这是一个由王鹤宇开发的开源项目,旨在简化音频文件的预处理和后处理工作,提供了一套全面而强大的函数集合。 项目简介 AFEPack 是基于 Python 的音频处理工具包,它包含了一系列对音频进行剪切、合并、压缩、音...

gitblog_00070的博客 532

GhidraMCP:AI驱动的逆向工程革命——让LLM自主操作Ghidra进行自动化分析

(Ghidra Machine Control Protocol)应运而生,它通过将LLM与Ghidra(美国NSA开源逆向工具)结合,实现了AI驱动的自动化逆向工程流程。逆向工程是软件安全、漏洞分析和代码审计的核心环节,但传统方法依赖人工分析,耗时且易出错。未来,随着LLM技术的演进和逆向工程工具的优化,GhidraMCP有望成为安全研究人员和开发者的核心工具,推动逆向工程进入“AI辅助时代”。GhidraMCP通过LLM与Ghidra的深度整合,重新定义了逆向工程的自动化边界。

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 2119

静态时序分析(STA)—— 标准单元库

目录 1、时序库 概览 2、时序模型 1、基本概念 2、影响因素 3、线性延时模型 4、非线性延时模型 5、单元时序弧 1、组合逻辑单元 2、时序逻辑单元 6、线负载模型 参考说明 上一篇,学习了 STA相关的基本概念,本篇继续学习 STA相关的 标准单元库。 1、时序库 概览 库文件概览: 2、时序模型 1、基本概念 2、影响因素 对于组合逻辑的时序弧而言,其延时的大小取决于: 1、输出负载,即,输出端的电容负载的大小。容性负载越大,...

记录所学,分享知识,结识挚友 2855

AFEPack 作者的话(写于2007年新年)

FROM:http://dsec.pku.edu.cn/~rli/software.phpAFEPack:在过去的两年时间里,这个网页一直都没有更新。由于一些令人失望的经验,我对于推广使用这个软件包并不抱太乐观的态度。由于 Linux 操作系统和 C++ 这两个东西对于我们大多数同行和同学来说是两个巨大的困难,真正学会了我的这个软件包的使用者少之又少。如果期望从不熟悉环境到能够使用这个包来进行研究

HateCode的胡言乱语 1575

Vue3 - 超详细“纯前端“将文件上传到阿里云OSS对象存储,最新阿里云前端直传音频、视频、图片、文件、office文档等任意文件,vue3单个或批量从本地选择文件,秒传到阿里云oss无需后端接口!

vue3,阿里云oss存储,前端直传oss,上传图片/office文档/音视频/zip压缩包到阿里云oss,项目中上传文件到阿里云oss详细教程,如何将本地文件上传到阿里云OSS存储,纯前端实现阿里云OSS上传,纯前端直传至阿里OSS对象存储教程,如何解决上传文件到阿里云OSS本地环境调试出现跨域问题,直传阿里云oss跨域报错解决,前端直接上传文件到oss服务端,不经过后端直传,浏览器直接上传文件,阿里云oss上传sdk官方文档,阿里云错误,解决这个问题,上传很慢,一直签名失败,权限,不经过后端,纯前端直传

🏆 前端领域优质创作者 1万+

[笔记2.1]学习AFEPack的例程

 [学习例程1]:/usr/local/AFEPack/example/possion_equation/问题:-/Delta u = f     u |_{/partial /Omega} = u_b***** $lsCVS  D.d  Makefile  possion_equation.cfg  possion_equation.cpp  possion_equation.net  READ

HateCode的胡言乱语 3217

PyTorch深度学习项目实战100例数据集

最近很多订阅了的用户私信咨询有些数据集下载不了以及一些文章中没有给出数据集链接,为了解决这个问题,专门开设了本篇文章,提供数据集下载链接,打包100例的所有数据集。本专栏适用人群:深度学习初学者,专栏将具体讲解如何快速搭建深度学习模型用自己的数据集实现深度学习小项目。 本专栏整理了《PyTorch深度学习项目实战100例》,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集。

优快云 精品推荐 2万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

[笔记1.0]AFEPack软件包安装备忘

重装系统:2007年四月发布的 Ubuntu 7.04 - the Feisty Fawn - 按照以前别人帮助下记录的步骤,完整装了一次deal.II-3.1.0和AFEPack(2007.3.15打包版)参考资料:作者主页 <a href="http://dsec.pku.edu.cn/~rli/1、先确保系统安装如下工具:gcc-3.3g++-3.3autoconfaut

HateCode的胡言乱语 2920

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

[基本数据结构]网格(Mesh)和几何体(Geometry)

本人为个人学习之便在此转载,局部加工,版权归原作者:李若所有,更多文章请访问作者的BLOG。(转载时请注明作者和出处。未经许可,请勿用于商业用途)[摘要]1、Geometry —— 几何体类,将点(0维)、线(1维)、面(2维)、体(3维)等维数(dim)不同的基本形状大一统,打包处理。“单独一个几何体中存储的数据是没有意义的,几何体这个类的对象必须在网格类中间存储,才能够有意义。”(Geomet

HateCode的胡言乱语 7457

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java数值分析库,常用数值计算库

linpack软件名称 Linear Algebra Package程序设计语言 Fortran 77发布日期 1980下载专栏 Linpack压缩包功能概述 解线性方程和线性最小二乘问题的子程序包(各项性能已经被lapack超过)lapack软件名称 Linear Algebra Package程序设计语言 Fortran 77发布日期 Version 3.0, 1999,9,30 (1999,...

weixin_42363854的博客 1097

[笔记1.2]善用软件包的文档及其他

[生成 AFEPack 的文档]      源程序:/usr/local/AFEPack/library/include                 /usr/local/AFEPack/library/src      参考文档:http://circus.math.pku.edu.cn/AFEPack/html/index.html                也可以用 /usr/loc

HateCode的胡言乱语 1470

AFEPack 使用 Tutorial(二):解带系数二维泊松方程

AFEPack Step by Step Tutorial 2: solve Coefficient Poisson Equation Coefficient Poisson Equation 的源码在 example/coefficient_possion_equation 目录下。 运行样例 编译 EasyMesh 网格文件 ~/AFEPack/example/coefficient_possion_equation$ easymesh D Working. Please wait ! Improvi

努力中的老周的专栏 477

2.5 C语言入职例程二:指针

2.5.1 强化指针概念 指针是C语言中最基本且很重要的概念,某种程度上甚至可以说:指针是C语言的灵魂。 不巧的是,我们公司新招聘的好多新人对C语言指针都比较陌生。和大家交流,思考背后原因,可能要拜人性中的“选择性遗忘”了(最近脑科学研发成果。人们一般会将极伤心的事忘记的干干净净,如果C语言会给我们带来痛苦,我们会第一时间忘记它)。大家因为道听途说C语言指针很难,然后就故意躲得远远的,即使尝试学了...

zhangmalong的博客 1399

柔柔弱弱若若若若若若若若

柔柔弱弱若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若热二二二二二二二二二二二二二二二二二

weixin_42256435的博客 1032

Armadillo:C++下的Matlab替代品

地址:http://arma.sourceforge.net/ 许可证:MPL 2.0 目前使用比较广的C++矩阵运算库之一,是在C++下使用Matlab方式操作矩阵很好的选择,许多Matlab的矩阵操作函数都可以找到对应,这 对习惯了Matlab的人来说实在是非常方便,另外如果要将Matlab下做研究的代码改写成C++,使用Armadillo也会很方便,这里有一个简易的Matlab到Ar...

snoopy_neu的博客 2565

【算法拾光】队列|在每个树⾏中找最⼤值 + 最后⼀块⽯头的重量

本文总结两道经典算法题:一是通过层序遍历(BFS)逐层找最大值,利用队列分层处理,每层维护最大值;二是用大根堆(优先队列)模拟石头碰撞过程,每次取最大两块石头,差值重新入堆,直至剩余一块或无石。前者适用于树的层次遍历,后者适合动态获取最值场景。核心思想:队列用于分层遍历,堆用于高效取极值。

wuqingyigexiaoba的博客 131
上一篇: 主函数main中变量(int argc,char *argv[])的含义
下一篇: 手机故障的分类、判断和定位
HateCode
博客等级 码龄20年 25粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值