乐于分享
好东西不私藏

我是如何开发有限元软件的

我是如何开发有限元软件的


关键词:国产CAE,ABAQUS,工业软件,产品经理,有限元

1. 误打误撞又合情合理

未来的五年,你觉得你会在干什么?老实说,我心是没有答案的。在百年未有之大变局的环境下,“确定性”是个稀缺品。

18年我刚从航空院校毕业那会,从未想到不到十年后的今天是这个样子。按照不知多少届师兄师姐的从业经验,我进入飞机设计单位以后,就踏踏实实的从助工到工再到高工一步步往前走,或者从科员到科室主任再到部级领导慢慢往上爬。在型号研发中发光发热,航空报国嘛,没什么新鲜,身边的人都这样过的。

之前的文章中提到,我当时着劲从0开始搞飞机结冰软件(我是如何开发飞机结冰软件的)。型号任务虽然重,但是出于对未来的美好设想,年轻人总是有使不完的劲。除了结冰软件,我一直没有丢掉自己专业的复合材料力学,花了很多时间研究本构模型,像疲劳寿命、冲击、网格算法、二次开发都是那会打下的基础。

也设想过干个5年以后换工作,但是当时的目标范围仍旧是专业相关的院所。房子反正是买不起的,且熬着吧。

就在一切按部就班,天天加班,日子毫无波澜的时候,时任美利坚总统唐纳德·特朗普向东方大国发起了贸易战。

每天加完班走的路

一时之间,风声鹤唳,包括芯片在内的所有高端工业都受到了影响。

在这个背景下,工业软件开始进入大众视野,大家开始审视自己学习工作中最重要的工具,内心不禁发问:如果没有这些软件,我的工作还怎么开展?

我也不禁发问,如果没有了CATIA,没有了‌HyperMesh‌,没有了ABAQUS,没有了Fluent,我能干什么?推导一些公式倒是也没问题,不过算法也是用MATLAB在跑。

当然,后来我们知道了,力学方向的工业软件大砍刀一直没砍下来,我们也接着奏乐接着舞了挺多年。

但是在当时背景下,开发国产CAE软件成为大家不得不重视的事情。我的能力更是很有限,一个结冰软件已经搞的我要死要活,我能做的一些小工作无非是对ABAQUS做一些二次开发。

再加上,我也不想离开心爱的飞机设计工作,也就没有想到要去搞工业软件。

直到20年。这实在是个神奇的年份,现在想想,好多事就是从那年开始变了。原先认为理所应当的逻辑,在那年以后突然就拐弯了。天南地北的试验、试飞、隔离、流程、报告,我开始审视自己的生活,难道就要这么过一辈子吗?

监狱一样的出差宾馆

几年了,苦点累点都没问题,主要这点微薄的收入也就勉强养活自己,想回报父母太难了,成家立业更是想都不敢想。那时候毕竟还是年轻,总觉得不公平,哪里都不对劲。费劲巴拉高考考了1000多名,本科踏踏实实学习,研究生拼死拼活做实验,工作了也是满腔热血的投入,依旧看不到希望(这只是当时的想法,现在看来,这种才是生活常态,人中龙凤尚且举步维艰,遑论我等平凡人)。

人教人教不会,事教人一遍就会。突然就不想干了,我是行动派,说不干立马就开始投简历。当时还没有低空经济这个概念,无人机口子的钱并不热。面了一堆,发现大部分也都是草台班子,工资又低,不觉得有什么前途。

刚好面到一家做工业软件的,我也没报啥希望,毕竟我也不是专门写软件的,当时能熟练掌握的语言也就是Matlab。

随橙想呢,我开发结冰软件的经历让对方很感兴趣,并坚信我一定能胜任软件的研发工作。

就这样我正式进入了CAE软件开发领域。

拜拜了,我的飞机设计。

2. 气氛烘到这了,开始写代码

工作一换,换回了读大学的城市。熟悉的感觉,熟悉的味道。

岗位还是要先适应一下,我的岗位是产品经理。熟悉了飞机研发那一套的我,对这个岗位是非常的陌生,它听起来太“商业了”。产品经理一般指的是互联网公司的岗位,负责产品设计,开发协调。

我上网一搜,搜到的都是大家怎么吐槽产品经理的。一般都说他是三头忽悠。对外忽悠客户,对内忽悠研发,对上忽悠老板。看起来,这份工作对我来说非常具有挑战性。

当时公司要开发一套管道应力分析软件,专门用于电力、石油、天然气等管网系统的应力安全评估,对标的是美国CAESARII管道应力分析软件。

和同事交流发现,其实也没有那么可怕,我这个岗位就是干“杂活的”。了解精品软件,研究它的特点,然后设计我们自己的软件架构和交互逻辑。再带着大家按节点干活。

实际上,这个时候在国内,工业软件要怎么干,也没人说得清,自己摸索呗。研究国外软件是我的专长,搞结冰软件的时候,我把NASA软件能了解的东西都深入研究了一番。搞ABAQUS二次开发,把ABAQUS的软件逻辑和特点都掌握了。

在这个过程中给我启发最大的,不是软件的设计开发,而是我开始了解到工业软件的行业性。搞航空航天久了,以为CAE软件无非就是ABAQUS、ANSYS、NASTRAN。当然,这些软件当年的起步都和航空航天需求脱不开关系,这也造就了他们在这个领域的绝对主导地位。

然而大量的民用行业,对仿真的精度需求没有那么高,他们最需要的是好用,算的快。所谓的好用就是完全贴合他们行业特点,比如如何快速建立管道并赋予保温层等等有管道特点的参数,不需要画网格,他们不关心网格。更关键的是,仿真要根据行业标准快速完成安全评估,软件里面如果没有嵌入行业标准约等于没有用。

这些工作如果用通用软件来做就费劲了,复杂的管网在建模、网格那块前处理就需要花费大量时间,对设计人员来说太复杂太耗时。

我负责的研发团队,当时缺了不少人手。我手里只有能做界面交互和三维视口的工程师,没有做前后处理算法和求解器的人。

缺人就缺人吧。一顿研究以后,我设计好了软件界面。这个时候我对前端还不是很熟悉,想当然的期待前端能赶紧做个样子货出来。后面求解器的人一到,就像给飞机装发动机一样,它很快就飞了嘛。

很快工程师告诉我,他们做不了太多工作,因为后端的人没有,他们不知道数据格式怎么设置成后端需要的样子,做了以后万一后面要改,他们还要重新做工作。

我第一反应是很生气,这特么就是玩不下去了呗,总不能天天坐着不干活吧,欺负我不懂忽悠我是吧。我可不是娇滴滴的...,我可是搞飞机搞力学的,有的是技术和手段。

不就写代码吗,我也写,不让用MATLAB,我就学Python,拢共就花了半天时间弄清楚了基本语法。第二天我就开始写前后处理。

首先我要做的是,打通美国CAESARII软件和我们软件的数据接口,让用户能把他们建好的模型导入到我们的软件。尽管我有ABAQUS inp的二次开发经验,也算熟悉这类问题。可是真做起来,才发现事情远不止这么简单。

主要是管道的类型太多了,不同类型的管道它的参数是不一样的。这就导致CAESARII软件的数据格式存储很怪异,它好像每次为了适应新的管道类型,就在原数据格式基础上打补丁。

我需要梳理清楚不同管道、不同材料参数、不同边界条件的格式,然后再动手写解析代码,这个过程花了大量的时间。刚好那会隔离在家一两个月,我有充足的时间整理和编写代码。为了防止自己在家太久了没状态,我每天早上起来像平时上班那样穿戴整齐,衬衫皮鞋。

另一方面,我根据自己了解到的数据格式,和前端一同确定了数据交互格式,就这样推着项目往下走。

3. 产品经理的日常

软件搞着搞着,我发现搞中间处理模块(我管它叫接口)是工业软件最大的工作。通过接口,可以打通建模到视口,前端到预处理,预处理到求解器,求解器到行标校核,再到选型等等工作。没有它,软件就串不起来。在这个过程里面,我了解到工业软件几个最基本上的东西:前端交互、三维视口、求解器、前处理、后处理。

在与大家的日常沟通中,我半学半不学的从他们身上学了不少开发知识。果然,写代码只有0次和无数次。在长期缺少求解器人员的时间,我又开始写起了求解器。管道应力软件用到的是三维梁单元求解器,当然要针对不同的管道类型开发专门适配的特殊梁单元,也就是从这个时候开始,我开始走进求解器的开发。除了梁单元,我还探索了非线性实体单元。

慢慢的,产品经理的生活开始步入正轨。白天,掐着点到公司上班,冲上咖啡,敲代码。敲一会,再给处成兄弟的同事一个眼神示意,一起去楼道修炼吞云吐雾。

下了班,自己在家就简单喝点。兄弟、同学喊吃饭,就出去喝点。期间还一度迷上了组装手表,每天回家捣鼓到半夜。

周报,我定好格式,大家每人填一下,然后我给Boss汇报。客户那边有啥需求我都去应付一下,产品宣传各种图我来弄,文案我来写。果然变成了三头忽悠的状态。

4. 从必然王国到自由王国

就这么过了快两年,这个软件在我手里从无到有,从0到迭代3个版本。却始终面临一个尴尬的问题,没人真的下单。谈的的人不少,下单的却很少。

问题出在哪呢?不光我负责的这个软件,其他软件也是一个样子。不光我们公司,其他公司也是。

问题还是出在特朗普。制裁的大棒一直没有真正砍到工业软件,大部分的工业软件还是该用就用。老拜登上台以后,搞脱钩那一套,所有的东西都是慢慢推进。一时间,似乎工业软件国产化替代不是件很着急的事情了。

国外的软件用着挺好的,干嘛要换。纵观ABAQUS、NASTRAN、ANSYS的发展,契机都是项目牵引,且当时这类软件处于空白,大家没得选。用着用着,软件才慢慢发展起来。

如果把他们放到现在我们同样的境遇中,也是很难发展的起来的。没人愿意用,就很难发展。

作为一个还有些学术追求的人,开发CAE软件带来了很爽的体验。按照以前的经历,难的东西可以发好论文,有了好论文,可以评职称。即便换了公司,软件不会跟我走,但是论文的署名还是我。

但是到CAE软件这里就不是这么回事了,有限元的基本理论已经很成熟,国外都有这么多成熟的商业软件了,想在国外期刊发出高水平的论文就很难。

我也尝试投稿过国内“算法”、“软件”类的期刊,得到的回复不是“与期刊研究方向不符”、就是“没有创新点”。得嘞,国内这些期刊也是指望不上。

一方面公司这块软件一直没有收益,另一方面开发软件积累的技术也没有办法变成自己的学术资历。我开始思考,如果继续这样走下去,能否长远。

这个时候我已经彻底喜欢上了CAE软件开发,以前我们用国外的高端软件才能做模拟计算,现在我们自己写的软件也能实现这些功能。以前是必然王国,人家软件有啥功能我们用啥。如果想自己增加点功能,还要花费很大力气学习软件接口,搞二次开发。搞完还觉得自己很高端,都能二次开发了。而现在,我们自己开发了软件,原本需要很费劲的二次开发功能,在自己的软件里轻轻松松的就能加上去,这是自由王国。

一旦尝试了自由的滋味,就很难忘得掉,或许我该换一种方式来搞软件了。

经过思量,我得出一个结论:只要有一个不是很忙的和科研相关的稳定工作,我才可以利用业余时间自己开发有限元软件。

在这个思想的指导下,我又回到了科研院所工作。但就软件开发来说,我从一个团队回到了一个人的状态。

我需要解决的首要问题就是全栈自研。求解器和前后处理模块我都可以自己写,最麻烦的是前端和三维视口。

刚好这个时候,ChatGpt横空出世。尽管那个时候,它还远远不像今天这么强大。但是有了ChatGpt的帮助,和以前同事的技术支持,我慢慢掌握了三维模型解析、模型渲染、模型交互。

前端相对来说要好学一些,QT所谓的信号-槽机制还是很容易上手的。大约一年左右的时间以后,我基本能独立开发CAE软件了。

5. 有限元软件与副产品

有了基本的技术以后,刚好单位这个需要开发各种软件,有仿真的,有测控的。静界有限元与您共研工业软件技术

我以前积累的梁单元技术,用在了转子轴系标高设计上。通过有限元加迭代算法,可以快速给出每个转子的安装标高。要是在以前,我肯定要费劲心思去通过ABAQUS搞二次开发。

前端和三维视口则用在了测控软件上,可以把试验采集数据实时映射到三维模型上。

就这样,我硬生生的从一个机械设计岗干成了软件开发岗。

当然,我没有忘了我学这些技术到底是为啥,我是要自己开发一个有限元软件。已有经验已经表明,搞通用软件肯定是死路一条,基础功能没人会买单。

搞行业软件,可能也是死路一条,因为国外软件现在卖的也不贵,大家还是倾向用国外软件。

好像两头都是死路,既然如此,索性搞一个自己能用到的软件。

我自己是搞复合材料力学出身的,做强度、疲劳等仿真的时候,都是基于ABAQUS的UMAT/VUMAT完成。但是UMAT/VUMAT这些子程序与ABAQUS 铺层模块互斥,而实体单元在处理复杂铺层的时候要么不好键网格,要么不好设置局部坐标系,要么就是网格量过大。

于是我萌生了开发一个复合材料壳有限元软件的想法,把我之前写的一些损伤、失效、疲劳、固化变形的本构放进去,计算效率远远高于实体单元,这样就具有了实际工程价值。(我为什么研发一个工程壳有限元软件

壳是膜单元和板单元合并成的。相比于实体单元,壳是一种更高级的单元。“高级”体现在抽象能力:能用更低的维度、更小的代价,精确捕捉弯曲、翘曲等关键行为。壳单元“天生就知道”如何高效、准确地计算弯曲。它把复杂的厚度效应,提炼成了旋转自由度等概念。这相当于一个专用求解器,比实体单元更聪明,但是开发难度也更高。

在开发的时候,和实体单元比,壳和梁单元都有一个问题,就是局部坐标系和整体坐标系的转换。在做刚度矩阵的时候,需要从局部到整体。在计算应变的时候,又要先把整体坐标系的位移转换到局部。更关键的是,由于铺层角度的存在,又增加了一个变换。

有了前面的积累,这个时候我开发软件就从容多了,先给软件的1.0做了定位和画像:

1) 具备模型解析、网格离散、铺层定义、材料定义、边界条件定义、三维视口交互、复合材料壳求解器、云图渲染、动画等基本功能。

2)具备渐进失效的非线性模拟能力。

3)网格离散的通用性决定了需要使用三角形单元。但三角形单元的壳,其刚度矩阵比四边形更复杂,三角形壳单元使用面积坐标,其导数与几何形状的关联更复杂。为了得到精确的刚度矩阵,通常需要Hammer积分(3~7个积分点),且雅可比矩阵的表达式更为繁琐。

为此,软件开发的第一步不是写代码,而是推导刚度矩阵。

接下来就是按部就班的写代码,做调试,做验证。

我很庆幸做软件开发之前,我ABAQUS已经用的很好了,型号项目、力学试验、本构模型都做了很多。这让我知道如何设计算例,如何与商用软件对比,如何让交互方便开发人员使用。

我之前在CAE公司的时候,另一个开发通用有限元软件的负责人,号称海归力学大博士。但是不会用专业软件画网格,复杂点工程模型的网格见都没见过,简单讲就是完全不了解实际工业场景。ABAQUS用的也是入门级,复杂的本构模型也没搞过。就这带着一帮人开发FEM软件,无异于闭眼走夜路,能搞好就是撞见鬼了。

目前1.0版本已经做了出来,还额外实现了复杂铺层、变厚度的建模与模拟。

变厚度复杂铺层壁板如何建模、仿真

自研复合材料有限元软件SFEM V1.0定型

应力

失效分布

6. 一种生活方式

最近看到一个说法,就是男人为什么会喜欢开车,正经的那种。

因为他一旦坐在驾驶位,这个时候他不是谁的父亲,不是谁的下属,不是谁的丈夫。他就是一个单纯Driver,一个两吨重的精密机械完全在他的掌控之中,想走就走想停就停,想快就快想慢就慢。生活中大部分的事情,他是掌控不了的。唯独这个车,不会跟他顶一句嘴,绝对的服从。

我在有限元软件的开发中,获得的体验是类似的。不需要去为了实现某个特殊功能,而死磕商用软件二次开发,不需要为了某些难以处理的模型而想破脑袋。

需要什么功能,我可以自己写,一旦写出来,就像驯服了一头猛兽,从此它就是一个标准模块,随时听我的指挥。

以前导师说他没有爱好,就爱做项目和喝酒。我当时嗤之以鼻。现在,日渐中登的我本身也没多少爱好,戒烟以后,无非就是喝喝酒,做做项目,写写代码。大部分的事情都不以我们的意志为转移,烦不了那么多,开心就好。


欢迎大家关注静界有限元自研的有限元求解器、复合材料有限元软件、飞机结冰软件。

变厚度复杂铺层壁板如何建模、仿真

自研复合材料有限元软件SFEM V1.0定型

SFEM模拟复合材料工字梁弯曲渐进失效

我是如何开发飞机结冰软件的

QQ:2440864277;

微信:jingjieyouxianyuan;

淘宝同名:静界有限元

京东购物:静界FEM工作室

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-05 20:28:12 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/716415.html
  2. 运行时间 : 0.081884s [ 吞吐率:12.21req/s ] 内存消耗:4,838.38kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=556dcb4ca92a21451f918b8f16aa3ed7
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000486s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000882s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000306s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000268s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000517s ]
  6. SELECT * FROM `set` [ RunTime:0.000198s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000498s ]
  8. SELECT * FROM `article` WHERE `id` = 716415 LIMIT 1 [ RunTime:0.000490s ]
  9. UPDATE `article` SET `lasttime` = 1780662492 WHERE `id` = 716415 [ RunTime:0.000678s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000210s ]
  11. SELECT * FROM `article` WHERE `id` < 716415 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000509s ]
  12. SELECT * FROM `article` WHERE `id` > 716415 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000448s ]
  13. SELECT * FROM `article` WHERE `id` < 716415 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000756s ]
  14. SELECT * FROM `article` WHERE `id` < 716415 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000685s ]
  15. SELECT * FROM `article` WHERE `id` < 716415 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000841s ]
0.083676s