<?xml version="1.0" encoding="utf-8"?><rss version="2.0">
<channel>
<title><![CDATA[有限元编程爱好者]]></title>
<link>http://blog.pfan.cn/oopfem</link>
<description>编程爱好者博客</description>
<language>zh-cn</language>
			<item>
		<title><![CDATA[量身定制有限元前后处理软件]]></title>
		<link>http://blog.pfan.cn/oopfem/52215.html</link>
		<description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 很多高校、科研机构拥有自主开发的有限元计算程序，但由于没有前后处理功能，而只能借助于其它商业软件的前后处理，这种方式使得操作复杂、而且效率低下。如果能结合成型的前后处理程序模块，集装成交互界面友好、并能进行图像显示的系统软件，将为这些计算程序的使用带来很大的方便。
&nbsp;&nbsp;&nbsp; 本团队拥有多年的有限元软件开发经验，也积累了大量的有限元前后处理程序及构件。若您存在有限元程序前后处理功能的需求，可联系本人进行相关合作。(qingfds@sina.cn)借助于现有的前后处理功能模块，能够快速的为您打造出专用的有限元软件。
&nbsp;&nbsp;&nbsp; 目前能提供的功能模块有：
&nbsp;&nbsp;&nbsp; ◆界面功能：包括通用的软件框架、对话框、菜单栏、工具条；
&nbsp;&nbsp;&nbsp; ◆平面CAD功能：点、线、面、圆弧、椭圆线、样条曲线；
&nbsp;&nbsp;&nbsp; ◆平面区域网格剖分功能：三角形、四边形网格自由剖分（前沿推进法），四边形网格映射剖分；
&nbsp;&nbsp;&nbsp; ◆平面区域后处理功能：梁弯矩、剪力图，实体单元非拟合、拟合等值线图绘制，云图绘制；
&nbsp;&nbsp;&nbsp; ◆图形输出功能：支持图片输出为bmp、jpg格式文件。
&nbsp;&nbsp;&nbsp; 声明：
&nbsp;&nbsp;&nbsp; 1）目前CAD模型及网格剖分仅限于二维问题，后处理可包括三维问题。
&nbsp;&nbsp;&nbsp; 2）友谊合作，对于科研应用不收取任何费用（商用另议）。
&nbsp;&nbsp;&nbsp; &nbsp;图例：&nbsp;(若图片无法显示，请查看sina博客页面)
 
三角形网格自由剖分

四边形网格自由剖分



等值线


等值线



云图（图片经压缩，颜色稍有失真）

&nbsp;
界面方案]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2011-01-30 17:55:00</pubDate>
		</item>
				<item>
		<title><![CDATA[从计算力学角度建立地震防御机制的探讨]]></title>
		<link>http://blog.pfan.cn/oopfem/42698.html</link>
		<description><![CDATA[[可以批判，但请勿转载]
&nbsp;
 从计算力学角度建立地震防御机制的探讨
 &nbsp;
完整的地震防御体系包括地震前预报和震后灾害预警两部分。预报是指地震未发生之前做出的预测和报导，预警是指地震正在发生或者已经发生以后做出的灾害预测和示警。本文以汶川地震为背景，从计算力学角度出发，对采用有限元方法进行地震预报和结构震后灾害预警做出探讨。
&nbsp;
 关键词：地震预报、地震灾害预警、有限元方法
 &nbsp;
第一篇：震前预报
&nbsp;
引言：
&nbsp;
四川5·12 地震发生之后, 人们在震惊、悲伤之余发出了这样的疑问:“为什么地震局没有提前预报?”按照地震局的观点，在现阶段地震是无法预报的。虽然地震局提出此观点有推卸责任的嫌疑，但事实上，准确预报地震确实是至今国际上悬而未决的疑难。
&nbsp;
地震是地球内部介质局部发生急剧的破裂，产生的震波，从而在一定范围内引起地面振动的现象。地球内部介质局部发生急剧的破裂主要是指岩层的破裂。实际上，地震发生前，断裂带附近岩层一般会存在很长的活动时间，少则几年，多则数百年。目前，国内多采用GPS监测手段来观测地质变化。那么，既然可以监测到地层的运动变化，是否可以从力学角度预测出地层的断裂呢？ 答案应该是可能的。
&nbsp;
汶川地震：
&nbsp;
印度板块以约40mm/a的速率与欧亚板块的北向汇聚造就了青藏高原广泛隆升和地壳物质沿大型走滑断裂带块体状地东向运移,受到华北地块鄂尔多斯和华南地块四川盆地等高强度块体的阻挡,在青藏高原东缘形成了局部挤压推覆构造带及其前陆盆地系统,这其中就包括作为青藏高原东部巴颜喀拉与华南两地块分界的龙门山推覆构造带。而2008年汶川8级地震主要由于沿龙门山断裂带的映秀-北川断裂突发破裂造成。


地震地质构造示意剖面
&nbsp;
此次地震是一次兼有右旋走滑运动分量的逆断层型破裂事件,也是一次使近于平行的两条叠瓦状逆断层同时破裂的地震事件。虽然龙门山断裂带的整体滑动速率不大，但从汶川-茂县断裂向西到若尔盖草原及整个青藏高原东部的向东和向北运动速率都很大。应变在龙门山断裂带高度积累，当其超过龙门山断裂带和龙门山地壳物质的强度之后，沿龙门山断裂带的映秀-北川断裂突发破裂，形成巨大的5.12汶川大地震。
 

龙门山推覆构造带汶]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2009-04-28 16:58:00</pubDate>
		</item>
				<item>
		<title><![CDATA[在，玉兰花开的时候]]></title>
		<link>http://blog.pfan.cn/oopfem/41987.html</link>
		<description><![CDATA[&nbsp;&nbsp;&nbsp; 玉兰花期很短，学校里面有白色和紫色两种，分布在水利馆、二校门、紫荆、图书馆、近春园、东门主楼。


	&nbsp;


	


	&nbsp;


	


	&nbsp;


	&nbsp;


	在，玉兰花开的时候


	&nbsp;


	天空静静漂浮着朵朵白云，


	阳光瞒洒着大地，


	清幽的气息四处环绕，


	在，玉兰花开的时候，


	徜徉。


	


	&nbsp;


	莲池激起一层层涟漪，


	护校河的水轻轻流淌，


	河边的柳枝已渐发出新芽，


	在，玉兰花开的时候，


	远望。


	



	&nbsp;


	春水滋润着园中的小草，


	日晷静穆直射着远方的天空，


	礼堂传来悠扬的歌声，


	在，玉兰花开的时候，


	停留。


	


	&nbsp;


	岁月悄然爬上眉头，


	时光从身旁轻轻划过，


	花枝编织着美丽的梦想，


	在，玉兰花开的时候，


	寻梦。


	


	2009/4/5


	&nbsp;]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2009-04-05 20:37:00</pubDate>
		</item>
				<item>
		<title><![CDATA[拱坝有限元网格自动剖分程序]]></title>
		<link>http://blog.pfan.cn/oopfem/41963.html</link>
		<description><![CDATA[拱坝与坝基有限元网格参数化剖分
程序示例
1、概 述：
拱坝是水工三种主要建筑中最省材料、最优美的一种坝型。本程序可实现拱坝与地基组合结构的自动网格剖分，并进行三维显示。拱坝与坝基的网格均采用参数化剖分实现，适合于材料均匀、河道方向结构无变化的地基。模型与剖分参数采用读取文件方式输入。程序采用c++语言编制，绘图采用opengl库函数。成果图如下：（以溪洛渡大坝示例）
注：给定拱坝设计参数文件，使用本程序可在1分钟内自动实现拱坝与坝基的自动建模及有限元网格剖分。
 
 图1 成果图
 2、基本剖分思路：
首先对拱坝进行剖分；
将坝基划分为左岸、右岸、底部基础，对三部分基础分别进行剖分；
将拱坝、左岸基础、右岸基础、底部基础合并，消除重合节点。
 3、剖分步骤：
 第1步、剖分拱坝
以拱厚方向网格数、拱圈高程方向网格数、梁向网格数为基本参数：

 图3 拱坝有限元网格图
根据需要设置不同的网格剖分参数，可获得不同疏密程度的网格。
 第2步、剖分基础
左岸基础剖分，如图所示，以左岸延伸长度、左岸网格数、底部延伸长度、底部网格数为参数，首先剖分基础与拱坝相连接的部分，

&nbsp;
以河道上游延伸长度、上游网格数、下游延伸长度、下游网格数为参数，将左岸部分拉伸，

右岸基础剖分，与左岸类似，如图所示，以右岸延伸长度、右岸网格数、底部延伸长度、底部网格数为参数，首先剖分基础与拱坝相连接的部分，
以河道上游延伸长度、上游网格数、下游延伸长度、下游网格数为参数，将右岸部分拉伸，

剖分大坝底部基础，并向上下游拉伸，拉伸长度和网格数与左右岸基础参数相同，

 第3步、组合网格
合并有限元网格，并消除重合节点：
 &nbsp;





左岸地基


大坝与底部地基


右岸地基

















&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 图9 组合有限元网格
&nbsp;
 4、附 录
附1：剖分参数
拱坝剖分参数：
&nbsp;拱圈左岸上游、下游曲]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2009-04-04 11:29:00</pubDate>
		</item>
				<item>
		<title><![CDATA[家乡的油菜花]]></title>
		<link>http://blog.pfan.cn/oopfem/41939.html</link>
		<description><![CDATA[&nbsp;


	家乡的油菜花 (车上拍的，角度不太好)


	

 

	



	



	



	



	&nbsp;

 

	

&nbsp;]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2009-04-03 13:13:00</pubDate>
		</item>
				<item>
		<title><![CDATA[动态链接库编程中巧用抽象类]]></title>
		<link>http://blog.pfan.cn/oopfem/41308.html</link>
		<description><![CDATA[有限元动态链接库编程中巧用抽象类


	&nbsp;


	动态链接库以dll为后缀，软件开发中采用动态链接库有利于开发时的分工、后期维护，以及防止代码泄密。有限元软件架构中，经常会将不同的功能划分为不同的模块，每个模块采用动态链接库来完成。如现有的有限元软件中，常常将计算模块以及图象显示模块设计为动态链接库，在界面程序中调用。


	在动态链接库程序开发中，巧用抽象类常常可以起到举足轻重的作用。本文简单讲解在有限元程序开发时，如何在动态链接库中使用抽象类。


	&nbsp;


	&nbsp;&nbsp; &nbsp;举个小例子说明：


	&nbsp;


	制作有限元计算模块FemModel链接库，并在程序Main中调用FemModel链接库。


	&nbsp;


	先看通常采用的方式，在VC6.0中新建FemModel链接库工程，建立有限元模型输出类FemModel，包含成员为节点数nPoint，函数ReadFile，其中ReadFile函数用来读取文件读取节点数。


	&nbsp;


	//FemModel.h


	Class __declspec(dllexport) FemModel :&nbsp;&nbsp; 


	{


	public:


	&nbsp; FemModel();


	&nbsp; virtual ~FemModel();


	&nbsp; void ReadFile(FILE* _ifile);//读取文件，设置节点数


	private:


	&nbsp; int nPoint; //节点数


	};


	FemModel.cpp内容略。


	&nbsp;


	&nbsp;&nbsp; &nbsp;编译工程，生成FemModel.lib、FemModel.dll文件。


	在程序Main中调用FemModel链接库时，需要在工程中导入FemModel.h文件，调用方式如下，


	&nbsp;


	#include "FemModel.h"


	int main()


	{


	&nbsp; FemModel]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2009-03-07 02:51:00</pubDate>
		</item>
				<item>
		<title><![CDATA[故乡，我永生永世的爱恋]]></title>
		<link>http://blog.pfan.cn/oopfem/41004.html</link>
		<description><![CDATA[[请勿转载]
故乡，我永生永世的爱恋
&nbsp;
故乡，是一本厚厚的书，对于后迁于此的客人，每一页都蕴涵着崭新的诗篇；对于长居固守的主人，每一页都意味着简单而又朴素的生活；而对于离家在外的游子，每一页都珍藏着永远无法忘怀的记忆。
故乡，我永生永世的爱恋。
回乡的路在脚下无尽延伸，我的心却早已飞越出即将迈出的脚步。回忆着曾经无数次仰望的天空，曾经养育我成长的土地，真想立刻就见到那些久违的亲人、那些熟悉的房子，还有那缓缓流淌的小河……
故乡就在眼前，而我却停住了步伐。辛酸的抑郁涌入脑海，回想这些年穷愁而略显尴尬的学生生涯，流年似水，失落让我难以前行。已将近而立之年的我，本该到了衣锦还乡的时候，却依然过着拮据而又平淡的生活。看着自己一身寒酸的装扮，我仿佛已经见到了乡亲们期待的眼神里转瞬流露出的一丝丝遗憾和叹息。
夜色朦胧。
故乡，就在脚下。
终于见到了阔别多年的亲人。乡亲们依旧还是那么热情，一张张亲切的笑脸、一句句问候的话语，仿佛我还是曾经那个离开故乡时年幼的孩子。殷切的招待，加之旅行的疲惫，让我忘却了心中的惭愧和不安。
新的一年在欢乐的钟声中敲响。昨天已属于过去，今晨阳光明媚。拜过早年之后，我又来到了儿时嬉戏的小河边。
远远望去，河边只见一片冬日里衰败的景象，枯树、残草……唯有小河水依然清澈见底，无声无息的流淌。走过河中的小桥，粼粼的河水荡漾起我的心绪。也许，人生就是这平静流淌的小河，时光蹉跎着河边的一草一木，却蹉跎不了她清澈的面孔。岁月年轮，她依旧缓缓的延续着她自然、年轻的生命。也许，正是拥有这般顽强、执着的精神，才使得得她日复一日流淌不息；也许，正是拥有这副心平气静的胸怀，才使得她朝气蓬勃，永远散发着年轻的光彩。联想起我这几年在北方的奋斗经历，不正是因为缺乏这般执着的精神和平静的处事心态，才迟迟未取得成功吗。
我望着流淌的河水，抹平心中埋藏已久的抑郁。在北方那片流浪者的土地上，我将继续不停歇的为了目标而奋斗，平静而又顽强的面对一切困难，积极乐观的开创新的生活。
开春在即，我重新返回学校。带着故乡的小河赐予我的恩惠，登上离乡的车，一路北上。身后，故乡渐远渐渺。我回过头，轻声的呼唤，故乡，我永生永世的爱恋。
2009年春
&nbsp;
&nbsp;
今年春节回家，在家里找到一篇初一时写的关于家乡的作文，现在写不出以前的味道了。
家乡]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2009-02-22 16:03:00</pubDate>
		</item>
				<item>
		<title><![CDATA[singleton模式在有限元后处理软件开发中的应用（剖面等值线）]]></title>
		<link>http://blog.pfan.cn/oopfem/40983.html</link>
		<description><![CDATA[singleton模式在有限元后处理软件开发中的应用


	（剖面等值线）


	在三维有限元后处理软件中，客户常常会要求这样一个功能：查看三维实体的剖面等值线。例如，在高温炼炉的温度场分析中，工程师常常会关心炉内腔至炉外壁的温度变化趋势；在水坝应力分析中，设计师常常会关心断面上的局部破坏位置…..


	具体来讲就是指，用户在后处理结果时，常需要一个参数输入框，用户通过输入框输入指定的平面参数，程序自动用该平面切割当前实体模型，绘制出断面上相关物理场（位移、应力等）的等值线。


	针对此问题，一般软件设计时，首先会想到要建立一个平面等值线类，该类负责存储剖面的网格数据、等值线数据，以及的等值线计算、绘制等等功能。那么，初步的等值线类就设计出来了，如下：


	class CContour2D&nbsp; 


	{


	public:


	&nbsp;&nbsp;&nbsp; CContour2D();


	&nbsp;&nbsp;&nbsp; virtual ~CContour2D();


	&nbsp;&nbsp;&nbsp; void Init();


	&nbsp;&nbsp;&nbsp; void Calculate();


	&nbsp;&nbsp;&nbsp; void Draw();


	&nbsp;&nbsp;&nbsp; ……


	&nbsp;&nbsp;&nbsp; void Destory();


	public:


	&nbsp;&nbsp;&nbsp; vector&lt;_P&gt; m_vP;&nbsp; //节点向量


	&nbsp;&nbsp;&nbsp; vector&lt;_E&gt; m_vE;&nbsp; //单元向量


	public:


	……


	};


	（单元向量中只需要能保存三角形单元和四边形单元即可，因为计算实体剖面的同时，可直接将剖面离散为三角形和四边形的网格，并算出节点的物理值。）


	随后，添加剖面等值线绘制输入框，根据用户需要自动生成剖面等值线类的对象，绘制等值线。


	但是这样就产生一个问题：任意时刻只需要绘制]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2009-02-21 00:26:00</pubDate>
		</item>
				<item>
		<title><![CDATA[中国为什么做不出优秀的通用有限元软件？]]></title>
		<link>http://blog.pfan.cn/oopfem/40962.html</link>
		<description><![CDATA[[请勿转载]


	中国为什么做不出优秀的通用有限元软件？ 

 

	&nbsp;&nbsp; 北京大学袁明武教授在1997年8月《现代力学与科技进步》杂志中曾讲到这样一句话，“如果没有政策上和体制上的重大改革，在近十年内，我国计算力学软件不可能出现高质量的大型计算力学软件系统”。可见当时我国计算力学软件开发的形势有多么严峻。


	而今，十二年过去了，计算力学软件市场却依旧是国外进口软件琳琅满目，国产软件寥寥无几。高校、企业做有限元分析几乎全部采用进口软件。从国外引进的ANSYS、NASTRAN、ALGOR、MRAC等等软件，价格一般都在几十万，甚至几百万，如此昂贵的价格，销量却甚好，而且国外几家大的有限元软件公司都已经陆续成功上市。而国内自主研发的JEFIX、FEPG、SAP84等等有限元程序，几乎都是靠着国内根深蒂固的人情关系在发展，关系不牢的肯定是销量惨淡。


	这当中，不乏由于中国人还存在崇洋媚外的传统思想，认为：同样的软件，肯定是欧美国家做的好；同样的工程计算项目，采用进口软件来做比采用国产软件可信度更高，以至于分析人员使用进口软件的话就更好向工程单位交活。但业内人员一般都很清楚，究其主要原因，还在于质量问题上，国产软件一般通用性差，计算不稳定，而且缺乏良好的前后处理性能。


	中国为什么做不出优秀的有限元软件？答案可能是综合的：技术落后、队伍缺乏、资金投入少等等。但我觉得，资金投入少才是最根本的原因。


	一个完整的有限元软件包括前处理建模、有限元计算、结果图形处理三大部分，其中最核心的是有限元计算部分。一个高质量的优秀通用有限元软件的开发，首先至少需要有两名顶级的系统分析师，分别负责计算部分、前后处理部分的系统设计，其中负责计算部分的系统分析师要有10年以上的有限元程序设计、编程经验。另外需要5名软件设计师，每名软件设计师至少要配两名程序员。再加上至少3名软件测试人员。这样一支20人的开发队伍，还要连续工作至少三年才行。而目前在中国，这样的一直队伍，不敢说绝后，空前是肯定的。即便有这样一支队伍，那么维持队伍工作也需要相当大的一比的经费。假设每名系统分析师年薪30万（因为是顶级的），每名软件设计师年薪15万，每名程序员及测试人员的年薪8万，这样，不算其它成本，三年下来，光开发人员的薪水就需要700多万]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2009-02-19 22:04:00</pubDate>
		</item>
				<item>
		<title><![CDATA[有限元节点类\单元类(手把手有限元编程)]]></title>
		<link>http://blog.pfan.cn/oopfem/28175.html</link>
		<description><![CDATA[本篇讨论有限元中最基本的两个类, 节点类和单元类:
节点类首先需要基本的坐标信息，还需要节点位移、荷载、约束等信息，节点类代码如下:
#ifndef MVNODE_H#define MVNODE_H
#include "vector"using namespace std;class MVNode {public:&nbsp;MVNode();&nbsp;virtual ~MVNode();&nbsp;inline int GetCodeNum(int iPos) const;&nbsp;inline int getDOF() const;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;inline vector &lt;double&gt; getDispVector() const;&nbsp; &nbsp;inline double GetX() const;&nbsp;&nbsp; &nbsp;inline double GetY() const;&nbsp;&nbsp; &nbsp;inline double GetZ() const;&nbsp;&nbsp; &nbsp;int GetNum()&nbsp; const;&nbsp;&nbsp; &nbsp;void SetData(int n,&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; double x, double y, double z, int iDOF);&nbsp;void setDspVct(double displacement, int iPos);&nbsp;void Init();&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;void Draw();private:&nbsp;int m_iNodeNum;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;double m_dX,m_dY,m_dZ;&nbsp;&nbsp;&nbsp; &nbsp;vector &lt;double&gt; m_dDispVector;&nbsp;&nbsp; &nbsp;int m_iDOF;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;int m_iConnectE]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2007-08-03 15:41:00</pubDate>
		</item>
				<item>
		<title><![CDATA[工欲善其事，必先利其器&nbsp;一些类库和资源&nbsp;C++(转)]]></title>
		<link>http://blog.pfan.cn/oopfem/27519.html</link>
		<description><![CDATA[&nbsp;工欲善其事，必先利其器 一些类库和资源(zz) C++ 


	　1，前言


	　　无数次听到“我要开始学习C++!”的呐喊，无数次听到“C++太复杂了，我真的学不会”的无奈。Stan Lippman先生曾在《C++ Primer》一书中指出“C++是最为难学的高级程序设计语言一”，人们常将“之一”去掉以表达自己对C++的敬畏。诚然，C++程序设计语言对于学习者的确有很多难以逾越的鸿沟，体系结构的庞大，应接不暇并不断扩充的特性……除此之外，参考资料之多与冗杂使它的学习者望而却步，欲求深入者苦不堪言。希望这一份不完全导引能够成为您C++学习之路上的引路灯。


	　　撰写本文的初衷并不打算带领大家体验古老的C++历史，如果你想了解C++的历史与其前期发展中诸多技术的演变，你应当去参考Bjarne的《The Design and Evolution of C++》。当然也不打算给大家一个无所不包的宝典（并非不想：其一是因水平有限，其二无奈C++之博大精深），所给出的仅仅是一些我们认为对于想学习C++的广大读者来说最重要并且触手可及的开发与学习资源。


	　　本文介绍并分析了一些编译器，开发环境，库，少量的书籍以及参考网站，并且尽可能尝试着给出一个利用这些资源的导引，望对如同我们一样的初学者能够有所裨益。


	------------------------------------------------------------------------


	　　2，编译器


	　　在C++之外的任何语言中，编译器都从来没有受到过如此之重视。因为C++是一门相当复杂的语言，所以编译器也难于构建。直到最近我们才开始能够使用上完全符合C++标准的编译器（哦，你可能会责怪那些编译器厂商不能尽早的提供符合标准的编译器，这只能怪他们各自维系着自身的一套别人不愿接受的标准）。什么？你说这无关紧要？哦，不，你所需要的是和标准化C++高度兼容的编译环境。长远来看，只有这样的编译器对C++开发人员来说才是最有意义的工具，尤其是对于程序设计语言的学习者。一至性让代码具备可移植性，并让一门语言及其库的应用更为广泛。嗯，是的，我们这里只打算介绍一些公认的优秀编译器。


	　　2.1 Borland C++


	　]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2007-07-13 16:26:00</pubDate>
		</item>
				<item>
		<title><![CDATA[1.wxWidgets初步&nbsp;(手把手有限元编程)]]></title>
		<link>http://blog.pfan.cn/oopfem/26866.html</link>
		<description><![CDATA[手把手有限元编程系列,给大家讲解如何利用c++语言,借助wxWidgets和opengl构建有限元程序....
第一篇, wxWidgets初步
开发交互软件首先必须有界面, wxWidgets是很不错的界面库,由于wxWidgets的教材很少,所以本篇先介绍如何分离wxWidgets基本框架的几个类,
首先,MVApp类是主应用程序类, 
/***********************MVApp.h************************/#ifndef MV_APP_H#define MV_APP_H#pragma warning (disable: 4018)#include "wx_pch.h"#include "MVFrame.h"class MVApp: public wxApp{public:&nbsp;&nbsp;&nbsp; bool OnInit();&nbsp;MVFrame * GetFrame(void);private:&nbsp;MVFrame * frame;};DECLARE_APP(MVApp);#endif // #ifndef MV_APP_H
/*************************************MVApp.cpp**************************************/#include "MVApp.h"IMPLEMENT_APP(MVApp)//Main program (equivalent)bool MVApp::OnInit(){&nbsp;&nbsp;&nbsp; // Create the main frame window&nbsp;&nbsp;&nbsp; frame = new MVFrame(NULL, wxT("MV Post"),wxDefaultPosition, wxSize(650, 600));&nbsp;&nbsp;&nbsp; // Show the frame &nbsp;&nbsp;&nbsp; frame-&gt;Show(true);&nbsp;&nbsp;&nbsp; return true;}MVFrame * MVApp::GetFrame(void){&nbsp;return frame;}
MVFrame是]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2007-06-17 23:36:00</pubDate>
		</item>
				<item>
		<title><![CDATA[圆弧拟合的方法及程序]]></title>
		<link>http://blog.pfan.cn/oopfem/26860.html</link>
		<description><![CDATA[以前学数值计算经常要拟合曲线,昨天突然收到一医院朋友的求助, 要将颈椎椎体的样点拟合为圆弧曲线,如下图,


具体问题如下:
1、测量方法：从C2椎体齿状突后上缘A点至C7椎体后下缘B点，将每一颈椎椎体后上缘和后下缘坐标定点，记录相应的像素位置，然后输入专门设计的软件程序连接各标点并优化成弧线c？，连接A、B两点成直线a，测量弦a和弧c的长度。
2、计算方法：将数据输入公式，解二元一次方程c＝2πr/360，sin（α/2）＝a/2/r（r为模拟圆的半径，α为弧c所对的圆心角），自动求得人体颈椎正常的生理曲度α。




开始求解: 

首先,就想到了最小二乘法,&nbsp;
根据题意, 该圆必然通过两个端点,圆心位置就在大弦的垂直平分线上, 为了节省搜索时间,采用下述方法:
1.首先求除端点外剩余点的中心点,
2.然后,通过两端点和中心点确定一圆
3.求大弦的垂直平分线,并求圆心到大弦中点的距离H
4.从圆心出发,沿着大弦的垂直平分线往两边以0.01H为单位往两边搜索,利用最小二乘原理确定最合理值。
程序附后,结果如下,验证合理:
数据点个数为 12相应坐标为：&nbsp;&nbsp; 1:&nbsp;&nbsp;&nbsp;&nbsp; 6.440&nbsp;&nbsp; 3.600&nbsp;&nbsp; 2:&nbsp;&nbsp;&nbsp;&nbsp; 6.380&nbsp;&nbsp; 2.610&nbsp;&nbsp; 3:&nbsp;&nbsp;&nbsp;&nbsp; 6.400&nbsp;&nbsp; 2.340&nbsp;&nbsp; 4:&nbsp;&nbsp;&nbsp;&nbsp; 6.480&nbsp;&nbsp; 2.020&nbsp;&nbsp; 5:&nbsp;&nbsp;&nbsp;&nbsp; 6.540&nbsp;&nbsp; 1.800&nbsp;&nbsp; 6:&nbsp;&nbsp;&nbsp;&nbsp; 6.670&nbsp;&nbsp; 1.450&nbsp;&nbsp; 7:&nbsp;&nbsp;&nbsp;&nbsp; 6.720&nbsp;&nbsp; 1.260&nbsp;&nbsp; 8:&nbsp;&nbsp;&nbsp;&nbsp; 6.920&nbsp;]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2007-06-17 16:56:00</pubDate>
		</item>
				<item>
		<title><![CDATA[算法的力量(摘)]]></title>
		<link>http://blog.pfan.cn/oopfem/26857.html</link>
		<description><![CDATA[评论: 虽行业不同,但思路相通。提高计算效率,节省资源是编程人员共同的目的。


	&nbsp;


	算法的力量&nbsp;( 李开复)&nbsp;



	
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 算法是计算机科学领域最重要的基石之一，但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解，认为学计算机就是学各种编程语言，或者认为，学习最新的语言、技术、标准就是最好的铺路方法。其实大家都被这些公司误导了。编程语言虽然该学，但是学习计算机算法和理论更重要，因为计算机算法和理论更重要，因为计算机语言和开发平台日新月异，但万变不离其宗的是那些算法和理论，例如数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等。在“开复学生网”上，有位同学生动地把这些基础课程比拟为“内功”，把新的语言、技术、标准比拟为“外功”。整天赶时髦的人最后只懂得招式，没有功力，是不可能成为高手的。 

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 算法与我

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当我在1980年转入计算机科学系时，还没有多少人的专业方向是计算机科学。有许多其他系的人嘲笑我们说：“知道为什么只有你们系要加一个‘科学’，而没有‘物理科学系’或‘化学科学系’吗？因为人家是真的科学，不需要画蛇添足，而你们自己心虚，生怕不‘科学’，才这样欲盖弥彰。”其实，这点他们彻底弄错了。真正学懂计算机的人（不只是“编程匠”）都对数学有相当的造诣，既能用科学家的严谨思维来求证，也能用工程师的务实手段来解决问题——而这种思维和手段的最佳演绎就是“算法”。

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 记得我读博时写的Othello对弈软件获得了世界冠军。当时，得第二名的人认为我是靠侥幸才打赢他，不服气地问我的程序平均每秒能搜索多少步棋，当他发现我的软件在搜索效率上比他快60多倍时，才彻底服输。为什么在同样的机器上，我可以多做60倍的工作呢？这是因为我用了一个最新的算法，能够把一个指数函]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2007-06-17 13:18:00</pubDate>
		</item>
				<item>
		<title><![CDATA[跨世纪的中国计算力学(摘)]]></title>
		<link>http://blog.pfan.cn/oopfem/26856.html</link>
		<description><![CDATA[推荐:


	&nbsp;&nbsp;&nbsp;&nbsp;钟万勰程耿东是中国有限元理论及软件的开拓者,是有限元编程的老前辈。本文对20世纪中国有限元的发展作了概述, 是一篇很值得一看的文章。另外,本文提及人物均为中国有限元名人,或在理论方面,或在应用方面,都是耳熟皆知的人物。


	跨世纪的中国计算力学


	钟万勰　　程耿东

 

	
一、我国计算机力学的形成和发展


	&nbsp;


	&nbsp;&nbsp;&nbsp; 随着计算机的发展，计算机技术、计算数学和力学交叉而产生了一个新的学科分支，这就是计算力学。计算力学致力于研究采用计算机技术求解工程和科学中的力学及与力学有关的耦合问题的理论、算法和软件。计算机技术提供的可能性和来自工业和其他科学部门的需求推动着计算力学的飞速发展，而计算力学已经取得的成就，使得在这世纪之交，计算已经和实验及理论分析成为力学工作者解决工程和科学中的力学问题的三大支往，在推动力学学科自身发展中也起着越来越重要的作用。钱学森最近指出，“总起来一句话：今日的力学要充分利用计算机和现代计算技术去回答一切宏观的实际科学技术问题，计算方法非常重要；另一个辅助手段是巧妙设计的实验”。对于力学工作者来说，今天的计算力学已经成为他们通向工程的桥梁，为国民经济建设和国防建设服务的不可缺少的手段，也是力学学科和高新技术的结合点。

 

	
　　计算力学从60年代初开始登上国际力学界的舞台，并马上得到了飞速的发展。50年代中期Martin，Tuner，Clough，Todd等人提出了有限元方法的基本思想和方法，这个方法特别适合于计算机上使用，对求解各类力学问题表现出广泛的适用性。由于商品化计算机的出现，特别是编程语言的出现，这种方法立即受到广泛的注意。经过Zienkiewicz等的发展，在工业应用需求的强大推动下，有限元方法的发展十分迅速，在不到10年的时间里构造了一大批单元，吸引了一大批数学工作者参加进来，和力学工作者一起逐步建立起有限元方法的数学理论，建立了通用的求解方法和程序段。在传统的力学中，结构力学和固体力学的各类问题，如杆系、板、壳、块体，其基本方程和求解方法都有明显的差别，归属于不同的研究领域，现在，在计算力学这一新工具方法面前统一了起来，力学界在历史上第一次向工业界提供]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2007-06-17 13:07:00</pubDate>
		</item>
				<item>
		<title><![CDATA[有限元分析的发展趋势(摘)]]></title>
		<link>http://blog.pfan.cn/oopfem/26855.html</link>
		<description><![CDATA[推荐: 泛泛讲解，方向把握明确!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;


	有限元分析的发展趋势


	吴 维


	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1965年“有限元”这个名词第一次出现，到今天有限元在工程上得到广泛应用，经历了三十多年的发展历史，理论和算法都已经日趋完善。有限元的核心思想是结构的离散化，就是将实际结构假想地离散为有限数目的规则单元组合体，实际结构的物理性能可以通过对离散体进行分析，得出满足工程精度的近似结果来替代对实际结构的分析，这样可以解决很多实际工程需要解决而理论分析又无法解决的复杂问题。


	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;近年来随着计算机技术的普及和计算速度的不断提高，有限元分析在工程设计和分析中得到了越来越广泛的重视，已经成为解决复杂的工程分析计算问题的有效途径，现在从汽车到航天飞机几乎所有的设计制造都已离不开有限元分析计算，其在机械制造、材料加工、航空航天、汽车、土木建筑、电子电器，国防军工，船舶，铁道，石化，能源，科学研究等各个领域的广泛使用已使设计水平发生了质的飞跃，主要表现在以下几个方面：


	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;增加产品和工程的可靠性；


	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在产品的设计阶段发现潜在的问题；


	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;经过分析计算，采用优化设计方案，降低原材料成本；


	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;缩短产品投向市场的时间；


	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;模拟试验方案，减少试验次数，从而减少试验经费。


	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;国际上早在60年代初就开始投入大量的人力和物力开发有限元分析程序，但真正的CAE软件是诞生于70年代初期，而近15年则是CAE软件商品化的发展阶段，C]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2007-06-17 12:54:00</pubDate>
		</item>
				<item>
		<title><![CDATA[我国计算力学软件的现状与思考(摘)]]></title>
		<link>http://blog.pfan.cn/oopfem/26854.html</link>
		<description><![CDATA[我国计算力学软件的现状与思考


	袁明武 北京大学力学与工程科学系，北京，100871


	摘要：本文从国际、国内以有限元方法为基础的计算力学软件的现状和对比出发，探讨了我国在开发、营销、维护等诸多环节中的若干问题，进行了一些思考，提出了为发展我国的计算力学软件的若干参考性的意见。&nbsp;


	关键词：有限元、计算力学软件&nbsp;


	1 国际上计算力学软件的现状&nbsp;


	从1965年第一次出现“有限元”这个名词，到70年代美国第一个有限元结构分析系统SAP问世，到今天已有25年的时间。整整一代人在这一方面做了艰苦卓绝的努力，已经形成了若干国际上著名的大型计算力学系统，解决了成千上万个工程实际课题，为科学技术的发展和工程应用做出了不可磨灭的贡献。目前这些系统已经相当成熟，在国际市场上拥有大量的用户。&nbsp;


	美国MSC-NASTRAN系统以最早期的主要用于航空航天方面的线性有限元分析系统为基础，兼并了以前后处理闻名全球的PDA公司的PATRAN，以及以有限元建模著名的ARIS,又在以冲击、接触为特长的DYNA3D的基础上组织开发了流体、固体相互作用的非线性程序DYTRAN,同时又与国际上著名的非线性有限元分析程序ABAQUS联手，推出了MSC-ABAQUS,从而形成了集国际上最优秀的有限元分析系统之大成的规模最大的有限元分析系统，它突出的显示了在计算力学方面深厚、先进的科学基础，杰出的经营、管理思想和现代集成化的做法，在短时间内以兼并为主要手段把世界上最好的技术集中起来为我所用，形成了国际上规模最大、功能最全、质量最好的大型集成化计算力学软件系统。美国ANSYS系统是长期独立开发的大型线性、非线性有限元分析系统，他的强大的功能、灵活方便的用户界面博得了世界上数千家用户的钟爱，美国非线性有限元分析系统ABAQUS由三位年轻人以两千美元起家在自己的汽车库里开始写程序，到今天发展成为国际上著名的能求解高难度非线性问题的通用有限元程序系统，经历了艰苦的开发、应用、经营的路程，达到了巨大的成功。&nbsp;


	为什么这么多著名的、重要的有限元程序系统都集中在美国得以实现，以个人的见解主要有以下原因：


	1）美国的科学界、工程界非常重视把科学研究的成果转化为生产力；&nbsp;]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2007-06-17 12:49:00</pubDate>
		</item>
				<item>
		<title><![CDATA[Sfea软件开发路线和现有功能介绍]]></title>
		<link>http://blog.pfan.cn/oopfem/26817.html</link>
		<description><![CDATA[点击查看：面向对象有限元软件Sfea介绍
１.Sfea开发路线（红色字体为已完成部分）
　平面静力分析　　
　平面渗流分析
　平面固结分析
　平面动力分析
　平面固结动力分析（预计０７年９月份完成）
　三维静动力分析
　三维渗流分析
　三维固结分析
　三维固结动力分析
２.Sfea现有功能
静力固结程序：单元采用四边形等参单元
本构模型： 弹性模型、邓肯~张模型
实例分析：
（１）　密云水库大坝渗流孔隙压力场计算
大坝断面如图所示，
&nbsp;


（２）　某均质坝固结计算




 

原始网格 





 

采用渗流程序调整后的网格 





 

采用BIOT固结程序计算稳定渗流后的孔压图 





 





 

稳定渗流后竖向位移 





 

稳定渗流后横向位移 





 

稳定渗流后孔隙压力]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2007-06-15 16:33:00</pubDate>
		</item>
				<item>
		<title><![CDATA[灵魂不死&nbsp;(摘)]]></title>
		<link>http://blog.pfan.cn/oopfem/26538.html</link>
		<description><![CDATA[灵魂不死：对话录



　　斯诺思麦可士（简称斯）： 
　　斐拉里西斯（简称斐）：
　　斯：现在请用一个字来告诉我，我死后会成什么？请你说得简洁一些。
　　斐：全部和无。
　　斯：想来就是这样。我给你提出一个问题，而你却用自相矛盾的方法来解决了它，这样的把戏并不新鲜。
　　斐：是的，你提出了一个先验的问题，却要让我仅用能表达内在知识的语言来回答，矛盾显然会接踵而来，这是没有任何疑问的。
　　斯：先验的问题和内在的知识怎么讲呢？当然，我以前也听到过这些说法，对于我来说，这也是老生常谈的事了，康德偏爱于这种说法，但也只是用来表述上帝的，并不以此来谈论其他的东西，这是十分正确和适宜的。他这样来论证：如果上帝在人世间，他便是意识之内的，如果不是在人世间而是在其之外的，这样他就是先验的了，这点是最清楚不过的了，你当然明白，你现在是尘世上呢还是超乎其外的，可是，这种康德式的胡言乱语再也没有什么作用了，它已经过时了，不适应现代的观点，而且在我们德国学问中都会有，已有了一些名流之士。
　　斐：（旁白）他指的是德国骗子。
　　斯：举例来说，像伟大非凡的施莱尔马赫和大智大慧的黑格尔。不过现在，我们已经抛弃了这种无谓之说。更确切地说，它与我们现在的思想格格不入，以致我们不能再忍受了，这样的话，还有什么作用和意义可言呢？
　　斐：先验的知识是超出可能的经验范围的，力求确定事物本身性质的一种知识。但是内在的知识却完全是限制在经验范围之内的。所以，除了实际的现象而外，它并不适用于其他事物。你只是一个个体，所以，死亡便是你的归宿，可是你的个性并不是你真实内在的存在，仅仅是存在的表面形式而已；个性也不是自在之物，而只是在时间的形式中表现出来的现象，才会有始有终。但是，你真正的存在根本意识不到时间也意识不到开始或是终结，更意识不到一个特定个体的有限性。真正的存在无处不有、无人不有。没有了它，谁也难以生存。因此，一旦死亡来临，你一方面作为个体是消失了，而另一方面，你却依然存在于整个世界之中，这，就是我前面说的，在你死后你会成为全部和无的真实意思。要想寻找出一个更准确、更简要的答案是十分困难的。我得承认，这种回答是自相矛盾的，这仅仅是因为你的生命是有限而你那不朽的成分却又是永恒的。你也许会说了，人的不朽成分也会应人的死亡而被毁灭掉的呀，这么说，你就又陷入到另一个矛盾之中了！如果]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2007-06-08 19:42:00</pubDate>
		</item>
				<item>
		<title><![CDATA[程序员写诗　初恋－人生]]></title>
		<link>http://blog.pfan.cn/oopfem/26537.html</link>
		<description><![CDATA[初恋－人生
&nbsp;
1、云飞扬（高中时代）
你是湖面的涟漪轻轻荡漾，你是七色的云彩高高飘扬，你是清晨的露珠微微闪亮，你是美丽的鲜花淡淡开放。
&nbsp;
我要采一缕阳光放在你的脸上,我要那轻暇的风儿伴你一起飞扬，我要美丽的小草为你摇荡，我要青春的歌儿为你吟唱。
&nbsp;
我要夜空的星光同你一样闪亮，带着轻暇的风儿，来到我的身旁；我要绚丽的青春伴你一起飞翔，变为七色的云彩，化作我的新娘。
2、轻舞飞扬（大学时代）
&nbsp;
美丽的鲜花淡淡开放，我把思念高高挂在天上。你唱着青春的歌谣高高飘扬，化作他人的绚丽的衣裳。
&nbsp;
歌声在阴霾的天空游荡，带着我的忧伤飞翔；梦想的船在黑夜里巡航，载着我心中的彷徨。
&nbsp;
时光悄悄划过我的身旁，清风唤醒我沉睡的梦想。我愿化作逝去的清风飞扬，来世依偎在你的身旁。
3、你是我的天堂（研究生时代）
&nbsp;
孤独的夜星光一样闪亮，青春的歌儿依然在耳边荡漾。我飞过青春绚丽的花房，随意摘下一朵美丽的花儿飞扬，
&nbsp;
我轻轻的飞翔，带着绚丽的衣裳，歌声轻轻的游荡，我心依旧停留在你的天堂。
&nbsp;
我轻轻的飞翔，任阳光撕裂我的心房，凭鲜血迸出我的胸腔，映红你美丽的天堂。
&nbsp;
4、美丽的天堂没有忧伤（老年时代）
美丽的鲜花依然开放，青春的歌儿不再荡漾。我站在离去的路边上，垂恋记忆天堂中你高高的飘扬。
&nbsp;
你是湖面的涟漪轻轻荡漾，你是七色的云彩高高飞翔，你是清晨的露珠微微闪亮，你是美丽的鲜花淡淡开放。
&nbsp;
你带着美丽的夕阳，悄悄守侯在我的墓旁。我化作逝去的清风飞扬，依偎在你的身旁。]]></description>
		<author><![CDATA[oopfem]]></author>
		<pubDate>2007-06-08 18:59:00</pubDate>
		</item>
		</channel>
</rss>