当前位置:文档之家› eclipse初学者

eclipse初学者

eclipse初学者
eclipse初学者

记得上大学最早学围棋时总感觉无从入手,看身边的朋友下棋时学着聂卫平从容入定,潇洒自如的样子,很是羡慕。后来从书店买来围棋入门指南,夜深人静时照着指南慢慢学如何吃子,如何做眼,什么是打劫,怎么样布局。掌握了一点基本知识以后开始找水平最差的下,输了一定不能弃擂,脸皮要厚,缠着对方接着下。赢了水平最差的人后去找中等水平的人下。这样经过一年半载,再看以前那些学着聂卫平从容入定,潇洒自如下棋的同学,心想他们原来不过如此,赶老聂差十万八千里哪。在这里也有许多人把我叫大师,专家,如果哪一天你觉得其实我的水平也很一般,那你就到了专业段位了。

市场上有不少关于油藏数值模拟的书,但好像没有类似围棋入门指南那样从基础开始一步一步介绍的书。我收到不下二十个问油藏数值模拟如何入门的问题。我尝试写一写油藏数值模拟入门指南,希望对那些刚刚开始进入油藏数值模拟领域的工作者有所帮助。

第一:从掌握一套商业软件入手。

我给所有预从事油藏数值模拟领域工作的人员第一个建议是先从学一套商业数值模拟软件开始。起点越高越好,也就是说软件功能越强越庞大越好。现在在市场上流通的ECLIPSE,VIP和CMG都可以。如果先学小软件容易走弯路。有时候掌握一套小软件后再学商业软件会有心里障碍。

对于软件的学习,当然如果能参加软件培训最好。如果没有机会参加培训,这时候你就需要从软件安装时附带的练习做起。油藏数值模拟软件通常分为主模型,数模前处理和数模后处理。主模型是数模的模拟器,即计算部分。这部分是最重要的部分也是最难掌握的部分。它可以细分为黑油模拟器,组分模拟气,热采模拟器,流线法模拟器等。数模前处理是一些为主模拟器做数据准备的模块。比如准备油田的构造模型,属性模型,流体的PVT参数,岩石的相渗曲线和毛管压力参数,油田的生产数据等。数模后处理是显示模拟计算结果以及进行结果分析。以ECLIPSE软件为例,ECLIPSE100,ECLIPSE300和FrontSim是主模拟器。ECLISPE100是对黑油模型进行计算,ECLISPE300是对组分模型和热采模拟进行计算,FrontSim是流线法模拟器。前处理模块有Flogrid,PVTi,SCAL,Schedule,VFPi等。Flogrid用于为数值模拟建立模拟模型,包括油田构造模型和属性模型;PVTi用于为模拟准备流体的PVT参数,对于黑油模型,主要是流体的属性随地层压力的变化关系表,对于组分模型是状态方程;SCAL为模型准备岩石的相渗曲线和毛管压力输入参数;Schedule处理油田的生产数据,输出ECLIPSE需要的数据格式(关键字);VFPi是生成井的垂直管流曲线表,用于模拟井筒管流。ECLIPSE OFFICE和FLOVIZ是后处理模块,进行计算曲线和三维场数据显示和分析,ECLIPSE OFFICE同时也是ECLIPSE的集成平台。

对于初学者,不但要学主模型,也需要学前后处理。对于ECLISPE的初学者,应该先从ECLISPE OFFICE学起,把ECLISPE OFFICE的安装练习做完。然后再去学Flogrid,Schedule和SCAL。PVTi主要用于组分模型,做黑油模型可以不用。

第二:做油藏数值模拟都需要准备什么参数

在照着软件提供的安装例子做练习时经常遇到的问题是:虽然一步一步按照手册的说明做,但做的时候不明白每一步在做什么,为什么要这么做。这时候的重点

在于你要知道你一开始做的工作都是为数值模拟计算提供满足软件格式要求的基础参数。有了这些基础参数你才能开始进行模拟计算。这些基础参数包括以下几个部分:

1。模拟工作的基本信息:设定是进行黑油模拟,还是热采或组分模拟;模拟采用的单位制(米制或英制);模拟模型大小(你的模型在X,Y,Z三方向的网格数);模拟模型网格类型(角点网格,矩形网格,径向网格或非结构性网格);模拟油藏的流体信息(是油,气,水三相还是油水或气水两相,还可以是油或气或水单相,有没有溶解气和挥发油等);模拟油田投入开发的时间;模拟有没有应用到一些特殊功能(局部网格加密,三次采油,端点标定,多段井等);模拟计算的解法(全隐式,隐压显饱或自适应)。

2。油藏模型:模型在X,Y,Z三方向的网格尺寸大小,每个网格的顶面深度,厚度,孔隙度,渗透率,净厚度(或净毛比)。网格是死网格还是活网格。断层走向和断层传导率。

3。流体PVT属性:油,气,水的地面密度或重度;油,气的地层体积系数,粘度随压力变化表;溶解油气比随压力的变化表;水的粘度,体积系数,压缩系数;岩石压缩系数。如果是组分模型,需要提供状态方程。

4。岩石属性:相对渗透率曲线和毛管压力曲线。如果是油,气,水三相,需要提供油水,油气相对渗透率曲线和毛管压力曲线(软件会自动计算三相流动时的相对渗透率曲线);如果是油,水两相或气,水两相,只需要提供油水或气水两相相对渗透率曲线和毛管压力曲线。

5。油藏分区参数:如果所模拟的油田横向或纵向流体属性,岩性变化比较大,或者存在不同的油水界面,这时需要对模型进行PVT分区(不同区域用不同的PVT流体参数表),岩石分区(不同区域用不同的相对渗透率曲线和毛管压力曲线)或者平衡分区(不同平衡区用不同的油水界面)。另外如果想掌握油藏不同断块的储量或采收率,可以对模型进行储量分区(不同储量区可以输出不同的储量,产量,采收率,剩余储量等)。

6。初始化计算参数:油藏模型初始化即计算油藏模型初始饱和度,压力和油气比的分布,从而得到油藏模型的初始储量。这部分需要输入模型参考深度,参考深度处对应的初始压力,油水界面以及气水界面;油气比或饱和压力随深度的变化;如果是组分模型,需要输入组分随深度的变化。

7。输出控制参数:即要求软件在计算时输出哪些结果参数。比如要求输出模型计算油田的油,气,水产量变化曲线;油田压力变化曲线;单井油,气,水产量变化曲线;单井井底压力变化曲线;单井含水,油气比变化曲线等。

8。生产参数:对于已开发油田,这部分的数据量非常大。包括油田每口井的井位,井轨迹,井的射孔位置,井的生产或注入历史(油,气,水产量,注入量,井底压力,井口压力等),井的作业历史等。

第三:如何准备各部分参数

上面介绍了做油藏数值模拟所需要的参数,那么这些参数是如何得来的?又应该如何输入到数模模型中哪?下面具体介绍各部分数据的来源即处理办法。

1。油藏模型:

大多数油公司现在都在采用一体化工作流程,数模工程师不再需要自己去建立油藏模型。地质学家对油田进行详细的油藏描述工作,基于地震解释数据,测井解释数据,岩芯数据以及结合地质家对油田的认识建立三维地质模型。根据数模工

程师的要求,地质家对三维地质模型进行粗化处理,可以直接为数模工程师输出符合数模工程师需要的油藏模拟模型。

如果你不幸工作在一个没有很好地采用一体化工作流程的油公司或学校,那你就需要自己建立油藏模拟模型了。这时你需要用到数模软件的前处理建模模块(比如Flogrid).如果你从地质家处拿到的是三维地质模型,你的工作量还不是很大,主要是采用前处理建模模块对地质模型进行粗化,生成数值模拟模型。如果你拿到的是两维数据体,那你的工作量就要大的多。首先你要确定你必须要得到以下几方面的两维数据体:

* 每层的顶面深度

* 每层的厚度

* 每层的孔隙度分布

* 每层的渗透率分布

* 每层的净厚度或净毛比分布

* 断层数据

有了这些数据体,你就可以在前处理建模模块中建立三维数值模拟模型。

还有更不幸的情况,你有可能工作在软硬件环境都很落后的油田(比如国内的四川油田),你根本连两维数据体也拿不到,你能拿到的只是一张一张的等值线图,或者只是单井井点数据,这时候你首先需要做的是将这些等值线图件用数值化仪数值化为两位数据体,或者根据井点数据生成等值线,然后再建三维模型。

你在开始建三维数模模型时首先需要确定你的模型应该采用什么样的网格类型。目前数值模拟软件常用的网格有正交网格,角点网格,径向网格,非结构化网格(比如PEBI)和动态网格等。你需要知道这些网格的不同之处及其优缺点:

A: 正交网格

正交网格是最常见网格,也是最早用来描述油藏的网格类型,目前仍然被广泛应用.由于其计算速度快的特点,一些大型油气田经常采用此网格类型.有研究认为正交网格计算结果比其他网格精确.

正交网格的数学描述也比较简单。以ECLISPE为例,TOPS描述油藏顶部深度,DZ描述油藏每层厚度,DX描述每个网格X方向长度,DY描述每个网格Y方向长度。

B: 角点网格

角点网格的特点是网格的走向可以延着断层线,边界线或尖灭线,也就是说网格可以是扭曲的。这样角点网格克服了正交网格的不灵活性,可以用来方便地模拟断层,边界,尖灭.但由于角点网格网格之间不正交,这种不正交一方面给传导率计算带来难度,增加模拟计算时间,另一方面也会对结果的精度有影响.

角点网格的数学模型很复杂,必须由前处理软件来生成。以ECLISPE为例,COORD用来描述模型网格的顶底坐标线(X,Y,Z),ZCORN描述每个网格八个角点的深度。

C: 径向网格

径向网格比较简单,主要用于单井模拟。径向网格可以更合理的描述井附近流体的径向流动。

D: 非结构网格(PEBI网格)

PEBI网格源于1908年就产生的Voronoi网格.起主要特点是灵活而且正交.PEBI网格体系提供了方便的方法来建立混合网格,比如模型整体采用正交网格,而对断层,井,边界等采用径向,六边型或其他网格.网格间的传达率可以自动计算.PEBI网格的灵活性对模拟直井或水平井的锥进问题非常有用.另外PEBI 网格可以用来精确模拟试井问题.还有PEBI网格降低了网格走向对结果的影响.PEBI网格的缺点是矩阵比其他网格要复杂的多,需要更加有效的解法.

E: 动态网格

动态网格是指网格可以随时间而改变.通常用于动态网格加密或动态粗化.比如说在井生产时采用局部加密而当井关闭时则采用正常网格.

有时候建立全油田整体模型后,对于压力及饱和度变化快的区域,常常需要进行局部网格加密.采用局部加密可以准确的描述井附近流体的细微变化。网格局部网格可以是正交网格,或是径向网格.Aziz认为(JPT 1993年)在正交网格中进行正交网格局部加密,有时并不会对结果有改善.他建议采用混合网格,及在正交网格内采用径向网格加密,这样可以精确地模拟含水和气油比的变化规律.

知道了这几种网格类型,那么在你建立模型时应该选择什么网格类型哪?你在建立网格时又应该注意些什么哪?

A: 在条件许可情况下尽量采用正交网格,而且尽量使网格保持均匀.尽量避免大网格直接连接小网格,这样会带来严重的收敛问题.

如果你的模型很大,最好采用正交网格。

B: 角点网格已经非常成熟,但在建立角点网格时不要过分扭曲网格,要尽量保持模型的正交性。如果你的边界与你的主断层相对平行,那么建立的网格系统正交性会比较好。你在建立网格后可以用前处理软件计算模型正交性。

C: 目前PEBI网格在解法上还不成熟,应避免使用.但相信在五年内它会成为主导网格.

D: 使用局部网格加密要小心,最小的网格不能小于井半径.而且局部网格加密部分要覆盖饱和度变化大的网格.如果是水平井,局部网格加密要覆盖水平段。E: 网格越多模拟结果就越精确的概念是不对的.可以建立单井模型研究多大网格尺寸足够描述地质上的非均质性.

F: 网格走向会影响计算结果. 在天然裂缝油气藏,要使网格走向与主裂缝方向一直.

G:DX/DY 应接近于1,不要大于3。

H: 井之间应有不少于三个网格。

I: 模型的属性分布也很重要。尤其是数模人员自己插值,属性分布经常不合理。我见过许多模型,井只是穿过单个的网格,井穿过网格的附近却全是死网格,这

时模型计算根本不能收敛。数模人员如果需要自己建模,最好要找地质人员参谋,或者自己有很好的地质背景。

初学者还有几个基本概念需要掌握:

A:网格的I,J,K

在做模拟时你需要知道每个网格的位置。模型每个网格的位置用网格的I,J,K表示。在ECLISPE软件中,左上角的第一个网格为(1,1,1),在X方向的第二个网格为(2,1,1),在Y方向的第二个网格为(1,2,1),在Z方向的第二个网格为(1,1,2)。其他类推。

B:死网格

死网格是模型中不参予流动计算的网格。通常把模型中的泥岩设为死网格。模型自动会把孔隙度和净厚度为0的网格设为死网格。如果你的油藏水体很大,你也不需要把水体都建在模型中。你可以把水体部分设为死网格,然后用解析水体模拟油藏水体的贡献。

C: 在数值模拟模型中如何正确应用有效孔隙度,净毛比?

要明确区分定义.

总孔隙度:孔隙体积占总体积的百分数。

有效孔隙度:连通孔隙体积占总体积的百分数。

毛有效孔隙度:平均有效孔隙度。(泥质含量截至值)

净有效孔隙度:产层平均有效孔隙度(渗透率截至值)

净毛比:净厚度(渗透率截至值)与总厚度之比。

数值模拟模型中要用净有效孔隙度和净毛比,这样模型的体积计算是正确的. 2。流体PVT参数

我们前面讲过,数值模拟模型包括黑油模型,组分模型和热采模型。对不同的模型类型需要用不同的模拟器。这些模型类型的区别主要就是在流体的PVT描述方面采用的方法不同。

对黑油模型,流体的PVT属性描述方法是你直接给模型提供油,气,水PVT属性表(油气体积系数,粘度,压缩系数随压力的变化;溶解油气比随压力的变化;水在参考压力下的体积系数,压缩系数,粘度;岩石在参考压力下的压缩系数)。模型在计算过程中对每一个网格,根据当前时间步的网格压力来查你提供的表得到每个网格当前的PVT属性。

组分模型要复杂的多。你不是提供PVT表,而是提供状态方程(EOS)参数(每个组分的临界温度,临界压力,临界Z因子,分子量,偏心因子等),模型通过闪蒸计算来得到每个网格当前的油气PVT属性(粘度,体积系数,压缩系数,溶解油气比)。另外水和岩石的属性还需要单独提供。

黑油模型和组分模型都假定油藏的温度在开采过程中是常数,不随时间变化。如果油藏温度发生了变化,就需要用热采模型。对热采模型,最重要的流体属性变化是流体粘度随温度的变化,即大家常说的粘温曲线。

那么你的模型应该采用哪种模型类型?这一方面取决于你拿到的PVT实验报告,如果你的油藏是凝析气藏,挥发油藏,即你的油藏流体组分在生产过程中会发生明显变化,那你应该用组分模型。另外如果你的油藏将来会考虑注气混相驱,那你也应该用组分模型。

重油热采用热采模型,其他大多数油气藏都可以用黑油模型。本部分只介绍黑油模型的PVT属性,对组分和热采模型,希望以后有机会再介绍。

对于黑油模型,在PVT部分需要提供的参数包括:

.油,气,水的地面密度或重度。

.油的体积系数,粘度,溶解油气比随压力的变化。

.气的体积系数,粘度随压力的变化。

.参考压力下水的粘度,压缩系数,体积系数。

.参考压力下岩石的压缩系数。

如果你的油藏在不同部位流体属性不同,那你需要提供多个PVT表,每个表对应于模型的某一部分。在后面的分区部分我还要做详细介绍。

对于黑油模型,根据不同的流体属性,可以分为以下四种类型:

.死油油藏:油藏在整个开发阶段压力一直保持在泡点压力以上,在油藏中不会发生脱气。生产油气比是常数(脱气发生在井筒或地面)。

.活油油藏:油藏在开发阶段压力会降到泡点压力以下,在油藏中发生脱气,溶解油气比降低,生产油气比增加(自由气会生产出来)。

.干气藏:气藏压力在生产过程中不会穿过露点线,气藏中没有挥发油产生。.湿气藏:气藏压力在生产过程中会穿过露点线,气藏中产生挥发油。

对不同的黑油流体,PVT描述方法也不同,比如对死油油藏,溶解油气比(RS)是常数,不随压力变化而变化。而对活油油藏,RS随压力降低而降低(泡点压力以下)。

在我平时回答大家的问题时我发现许对人下面油的PVT定义不理解或理解的不对:

溶解油气比泡点压力体积系数粘度

0.275 400 1.13 1.17 /

0.938 2000 1.162 1.11 /

1.5 3600 1.243 0.95

4000 1.238 0.95

4400 1.233 0.95

4800 1.228 0.95

5200 1.223 0.95

5600 1.218 0.95 /

1.72 4400 1.254 0.94

4800 1.266 0.92

5200 1.26 0.92

5600 1.25 0.92 /

许多人问这个表里面为什么有这么多泡点压力,究竟那个是油藏的泡点压力?油藏应该只有一个泡点压力,怎么会这么多?为什么有多条未饱和压力曲线?

其实这比较好理解,油藏开发过程类似于实验室的差异分离实验,你把这个表用差异分离实验来理解。在开发过程中,当压力低于泡点压力后,有溶解气释放出来,RS降低,油藏由未饱和状态进入饱和状态。这时在饱和状态下油气分离(相当于差异分离实验中将气派出),此时的油应该理解为与原始的油已经不同,如果此时发生压力增加,由于没有气可以溶进去(油气已经分离),油会进入此时(RS)下的未饱和状态。以上表为例,如果油藏的泡点压力为4400,对应的

RS为1.72. 当压力由5600下降到4400过程中,油藏在未饱和状态,没有气的析出,RS不变。当压力低于4400以后,有气体析出,RS降低,假设当RS 降到 1.5时压力增加,由于此时油气已经分离,没有气能够溶解到油中,在RS=1.5出的油的泡点压力为3600,PVT变化会沿着RS=1.5的曲线变化。那么在这个表中究竟那个是我们通常意义上的泡点压力?是不是最后一个?答案是不是。ECLIPSE软件泡点压力在初始化部分用RSVD或RBVD定义。(各个软件不同)。

另外在提供上面这个表时注意压力和溶解油气比要覆盖整个油藏压力和溶解油气比的变化过程,即不要让软件来进行外插,否则模型计算会不收敛。

另外一个重要的问题是在你为模型提供PVT参数时,应该如何用实验室的报告。你不能直接用实验室的差异分离实验数据,你应该对差异分离实验体积系数数据进行分离器校正。校正方程为:

Bo=Bod*(Bofb/Bodb)

Bo: 模型体积系数

Bod: 差异分离实验的体积系数

Bofb: 分离器实验的体积系数

Bodb: 差异分离实验泡点压力下的体积系数

溶解油气比校正方程:

Rs=Rsfb-(Rsdb-Rsd)Bofb/Bodb

Rsfb: 分离器溶解油气比

Rsdb: 差异分离实验泡点压力下的溶解油气比

Rsd: 差异分离实验溶解油气比

3。相渗和毛管压力曲线

这部分你需要提供油水,油气相对渗透率和毛管压力曲线。

实验室有时为你提供的是压汞曲线,你需要用界面张力计算出油水,油气相对渗透率和毛管压力曲线。比如毛管压力转换方程为:

(Pc)res=(Qres/Qlab)×(Pc)lab

(Pc)res: 油藏条件下的毛管压力。

Qres: 油藏流体的界面张力。

Qlab: 试验室流体界面张力。

(Pc)lab: 试验室毛管压力。

通常你提供的都是两相的相对渗透率曲线。油水相对渗透率曲线是油水两相流动时的相对渗透率,油气相对渗透率是油气两相在束缚水条件下的相对渗透率。实验室一般不测量油,气,水三相流动时的相对渗透率曲线,你的模型中如果存在三相流动,软件会根据你定义的STONE1或STONE2方法计算三相流动时的相对渗透率。

你提供的油水,油气相对渗透率和毛管压力曲线在模型中起两方面作用。首先模型应用你提供的油水,油气相对渗透率和毛管压力曲线进行初始化,计算模型初始的油,水,气饱和度和压力分布。我将在模型初始化部分详细介绍。另一方面是应用于流动计算。

在你提供的油水,油气两相相对渗透率曲线时要保证两条曲线的端点值要匹配。在你提供的曲线中有八个端点值,他们是:

束缚水饱和度:最小含水饱和度

临界含水饱和度:水开始流动是的含水饱和度

最大含水饱和度:曲线中含水饱和度的最大值

束缚气饱和度:最小含气饱和度

临界含气饱和度:水开始流动是的含气饱和度

最大含气饱和度:曲线中含气饱和度的最大值

油水两相残余油饱和度:油水两相曲线中的含油饱和度最小值

油气两相残余油饱和度:油气两相曲线中的含油饱和度最小值

在你提供的表中,要满足以下端点值一致性:

束缚水饱和度处对应的水相相对渗透率为0

最大含水饱和度对应的油相相对渗透率为0

束缚气饱和度处对应的气相相对渗透率为0

最大含气饱和度对应的油相相对渗透率为0

束缚水饱和度和束缚气饱和度对应的油相相对渗透率相等

最大含气饱和度应该等于1-束缚水饱和度

束缚气饱和度通常为0

模型中应用的通常是驱替毛管压力和相对渗透率曲线,模型初始化肯定需要用驱替曲线。如果你还想用自吸曲线,你可以用软件的溶湿滞后功能。

如果你有毛管压力的J函数曲线,在模型中你也可以用J函数,这样你的毛管压力大小与你模型的地质属性分布(孔隙度,渗透率)有关。

当然如果你的模型不同区域岩性不同,你可以在不同岩性区赋不同的相对渗透率和毛管压力曲线。这部分在分区部分我会详细介绍。

4。分区设置

前面我们说了,你的油藏不同部位可能有不同的流体属性,比如不同断块的油密度,粘度不同,或你的油藏岩性在纵向或垂向有变化,那你就需要在你的模型中设置流体或岩性分区。

通常你可以在你的模型中根据需要设置以下几种分区:

储量分区:如果你想输出模型不同部位的储量,你需要设置储量分区

流体分区:如果你的模型不同部位流体PVT属性不同,你需要设置流体分区

岩性分区:如果你的模型不同部位岩性不同,需要用不同的相渗曲线和毛管压力曲线,你需要设置岩性分区。

平衡区分区:如果你的模型有不同的油水或油气界面,你需要设平衡区分区。那么软件如何将你的模型分区与你的属性数据关联起来哪?我们假设你的模型有东西两个断块,两断块被封闭断层分割。东断块的油比西断块的油密度重,在你提供油藏流体PVT表时你需要提供两个表,一个是密度重的PVT表,另一个是密度轻的PVT表。在你的分区部分将东断块的流体分区值设为1,将西断块流体分区值设为2。软件在计算东断块的流体流动时将自动用第一个PVT表(密度重的PVT表),在计算西断块流体流动时用第二个PVT表(密度轻的PVT表)。

5。模型初始化

模型初始化就是建立在初始状态(油田还未投入开发)下油田压力和饱和度的分布,原始溶解油气比分布,以及初始泡点压力或露点压力分布。这部分你需要提供的参数包括:

参考点的深度

在此参考点对应的压力

油水界面

油气界面

油水界面和油气界面处的毛管压力

饱和压力(泡点压力或露点压力)随深度变化或溶解油气比随深度变化

参考点深度和对应压力你可以由RFT,DST,MDT测试结果得到。油气界面和油水界面通常由地质人员提供,数据来源于测井分析。油水界面和油气界面处的毛管压力是指你提供的界面是自由水面还是油水界面,如果是自由水面,界面处毛管压力为0。如果你的油藏有多个油水或油气界面,或多个压力系统,则需要进行平衡区分区。饱和压力(泡点压力或露点压力)随深度变化或溶解油气比随深度变化由流体实验得到。

软件初始化计算的步骤是这样的:

(1)计算过渡带高度。由油水界面和油气界面深度以及相渗曲线提供的最大毛管压力计算。

(2)计算每一个网格初始的油相,水相,气相压力分布。首先将在流体属性部分提供的油,气,水地面密度折算为地下密度。基于参考点的深度和对应压力以及油水界面,油气界面深度,过渡带高度,结合油,气,水地下密度计算其他深度处的油,气,水相压力。

(3) 由每个网格的油,气,水压力计算油水和油气毛管压力

(4) 计算饱和度分布。这部分计算主要用你提供的相渗曲线端点值。将油水界面以下的含水饱和度设为你在油水相渗曲线中提供的最大含水饱和度,通常为1。将油气界面以上的含气饱和度设为你提供的油气相渗曲线的最大值。油气界面以上的含水饱和度为束缚水饱和度。在油区的含油饱和度为1减束缚水饱和度。在过渡带的含油和含水饱和度由你提供的毛管压力曲线得到。

(5)计算初始溶解油气比或泡点压力的分布

初始化计算结束后你就应该已经可以得到你的油田储量了。你的油储量应该等于模型每个网格的孔隙体积乘以含油饱和度之和。如果你想与地质模型的储量进行拟合,你首先需要拟合孔隙体积(DX*DY*DZ*PORO*NTG),然后拟合含油饱和度的分布。

有的人喜欢直接把地质模型的含水饱和度分布赋予数模模型,这样当然可以,但你需要进行端点标定来保证模型初始的稳定性,(关于如何进行端点标定,我以后看会不会有时间专门写)要保证模型初始是稳定的,即在初始状态下流体不发生流动。检查模型是否初始平衡的办法很简单,让模型在没有任何井的情况下计算10年,检查在这十年中模型的压力和饱和度是否发生变化。

发布者: gulfmoon79 来自精准石油论坛https://www.doczj.com/doc/6111796764.html,

6.生产历史拟合

历史拟合的过程实际上是验证模型的过程。也就是说验证你上面建的模型能不能重现油田的生产过程。你需要对你的模型进行一系列的调整使其计算结果与你的实际生产数据(产量,压力,饱和度等)相符合。这个调整过程就是历史拟合。这就好比天气预报一样。假如你建立了一个大气流动模型来预测未来的天气情况,你需要先用你的大气模型算一算过去的天气变化,看能不能算的对,通过对模型进行怎么样的调整你才能先把过去的天气算对,然后你才有信心用此模型来预测未来天气。记住你做数模的目的也是为了预测未来。其实算命先生很懂得此道理。你去算命的化他或她先不会算你的未来,而是先告诉你过去你或你家人发

生过什么,如果他或她说的碰巧是对的,那你对他或她对你未来的预测也就会深信不疑。我相信我们的天气预报和数模对未来的预测绝对比算命先生的预测成功率要高的多,但离完全可靠还有很大差距。(另外你需要记住的是你的历史拟合结果不是唯一的,对不同参数的调整可以达到同样的历史拟合结果。)

生产历史拟合需要进行的数据准备工作量很大,你需要数模前处理软件来帮你完成这部分工作(比如ECLIPSE中的SCHEDULE模块)。在这部分你需要准备以下数据:

生产井和注水井的井口坐标

生产井和注水井的井轨迹

生产井和注水井的完井数据(井半径,射孔深度,污染系数,D因子等)

生产井的生产历史(油,气,水产量,井口压力,井底压力)

注入井的注入历史(气,水注入量,井口压力,井底压力)

修井数据(压裂,酸化等)

井的垂直管流表(用于计算井筒内的流动)

然后前处理模块会帮你生成数模软件所需要的数据格式。有几个问题你需要清楚:

(1)产量数据是井口产量(组分模型不同,以后单独讲)

(2)产量数据是日产量或月,季,年平均产量,而不是对应于某一时间步时的产量。

(3) 如果用了时率的化一定要小心,要保证累积产量是正确的。累积产量很重要,你在拟合时一定要拟合累积产量。因为只有累积产量正确,才能保证物质平衡正确。产量拟合好并不能保证累积产量也拟合好。

(4)在拟合井底压力时你需要知道你的井底压力对应的深度。在ECLISPE软件中你可以在WELSPECS中提供井底压力(WBHP)对应的深度,在缺省情况下井底压力对应的深度是井最上面的射孔网格中部深度。

(5)你的垂直管流表对应的深度最好接近你的井参考深度。

(6)在ECLIPSED软件中静压(WBP,WBP4,WBP5,WBP9)是井连接网格和附近网格的井连接系数(CCF)的加权平均,如果你想把孔隙体积加权平均也考虑进去,你可以用WPAVE来修改。

(8)所谓井连接系数(CCF)就是井与所在网格间的传导率。这个值对产量影响很大。在前处理过程中可以选择是否输出此值(在ECLIPSE软件中此值在COMPDAT的第八项),如果CCF没有提供,运行模型时会计算,如果提供了CCF,模型直接用CCF来计算产量。许多人遇到过在历史拟合时虽然修改了渗透率,但对产量影响很小,这是因为模型用了你提供的CCF来计算产量。此时你可以缺省CCF或用前处理软件重新计算修改后的CCF.

(9) 另外一个非常重要的概念是生产指数。数模模型通常用压力平衡半径(PEACEMAN半径)来替代实际的驱替半径,这样数模计算结果与实际生产情况会有误差。所以在历史拟合时首先应该调整生产指数(在ECLIPSE中用WPIMULT)来做初步拟合。WPIMULT=(WBP9-WBHP)/(WBP-WBHP). (10)如果井由生产井转为注入井,可以先把井关掉然后直接定义井的注入控制(WCONINJH)。

(11)如果井进行了补孔或重新射孔,可以重新定义井的射孔信息(COMPDAT) (12)如果井进行了作业,可以重新定义井的射孔信息(COMPDAT或WPIMULT)

7. 如何最快完成历史拟合

A: 首先要知道模型中哪些参数是不够精确,哪些是比较精确的.

不确定性参数: 渗透率,传导率,孔隙体积,垂向水平渗透率之比,相对渗透率曲线,水体.

比较精确参数: 孔隙度,地层厚度,净厚度,构造,流体属性,岩石压缩性,毛管力,参考压力,原始流体界面.

B: 模型局部影响参数和整体影响参数

局部影响参数:空隙度,渗透率,厚度,传导率,井生产指数

整体影响参数:饱和度,参考压力,垂向水平渗透率之比,流体,岩石压缩系数相对渗透率,毛管压力,油水,油气界面。

C: 实测数据误差分析

对油田来说,产油量的测量是精确而且系统的。含水的测量是稳定可靠的,但产气量的测量是不够精确的。

对气田而言,产气量的测量是精确的。

注水量或注气量的测量是不够精确的,一方面是由于测量误差,另一方面是由于一些不可测量因素,比如流体在套管或断层的漏失。

试井结果是可靠的,尤其是压力恢复结果。

RFT和PLT的测量是可靠的,井口压力的测量也是可靠的。

D:如何进行历史拟合

储量拟合:软件一体化对储量拟合带来巨大方便,许多油公司地质模型与油藏模型采用统一软件平台,油藏工程师主要只需要检查在由地质模型

通过网格合并生成油藏模型过程中造成的计算误差。通常孔隙度的合并计算是准确的,但渗透率的合并计算要复杂的多,采用流动

计算合并渗透率比较精确。净毛比也是要考虑的主要因数,请参照第N问题关于如何在模型中处理净毛比与孔隙度部分。

关于网格合并,请参照第N问题。

影响数模模型储量的因素有:孔隙体积,净毛比,毛管压力,相对渗透率曲线端点值,油水界面,气油界面,油水界面和气油界面

处的毛管压力(计算自由水面)。

测井曲线拟合:数模前处理软件(比如Schlumberger的Flogrid)可以基于初始化后的模型对每口井生成人工测井曲线,通过拟合人工生成测井曲线

与实际测井曲线,一方面可以检查地质模型建立以及网格合并过程中可能存在的问题,另一方面可以检查数模模型中输入井的测量深度

与垂直深度是否正确。数模模型中井的垂直深度应该是TVDSS,即减去补心后的深度。错误的深度会导致射孔位置发生偏差。

RFT与PLT拟合:勘探井和重点井通常都有RFT与PLT测量数据,这部分拟合可以帮助认识储层垂向非均质性,对勘探井RFT数据的拟合可以帮助检查数模模型

压力初始化是否正确。

全油田压力拟合:定油藏亏空拟合压力,软件可以通过用户输入的油,气,水地面产量计算油藏亏空。要检查油藏亏空是否正确,是否存在井产不够或注不够

的情况,否则需要调整生产或注入指数。检查全油田压力水平,调整孔隙体积

或水体来拟合全油田压力。

单井压力拟合:全油田压力拟合后拟合单井压力,可以通过调整井附近孔隙体积或水体来实现拟合。

含水拟合:定产油量拟合含水。油水粘度比,相对渗透率,渗透率,网格分布和网格大小都会影响含水。

油水粘度比和相对渗透率曲线会影响含水上升规律,相对渗透率端点值,渗透率,网格分布和网格大小会影响见水时间。

井底压力拟合:调整PI,表皮系数,KH。

井口压力拟合:检查VFP表,VFP表对气井会很精确,但油井的VFP会误差很大。所以井口压力拟合应针对气井。

E: 历史拟合经验:

模型计算压力太大:检查孔隙体积,减小水体,检查储量,气顶大小,参考面压力与深度是否对应。

见水时间过早:增加临界含水饱和度,降低水平渗透率,检查水体,检查射孔位置以及油水界面,检查隔层,断层传导率,

检查垂向渗透率,网格方向即网格大小影响。

含水上升太快:油水粘度比,相对渗透率曲线,水体大小。

井底压力太大:增加表皮,减小KH,CCF,减小PI,减小传导率。

8。模型重启计算

在你对模型历史拟合比较满意以后你就可以开始进行模型预测计算。在你进行预测的时候你当然不想把历史阶段再重新计算一遍,那样太浪费计算时间。你肯定希望从历史拟合结束时间进行预测计算。重启计算就是模型记录历史拟合结束时模型场数据的分布(包括模型饱和度,压力,油气比,井的控制及流量等),然后从此时间往后进行预测计算。

要进行重启计算,首先在你的历史拟合模型中要要求输出重启文件(例如ECLIPSE软件用RPTRST控制重启文件的输出),然后应用此文件进行预测计算。

重启计算并不是只可以从历史拟合结束开始,你可以从任何报告步开始进行重启计算。这样你可以分阶段进行历史拟合。

9。产量预测

历史拟合的目的是为了用于预测以制定未来开发或调整方案。

在数值模拟软件中,对于产油井或产气井,你可以采用以下几种产量控制方式:(1)定油量生产

(2)定水量生产

(3)定气量生产

(4)定液量生产

(5)定油藏产液量

(6)定井底压力

(7)定井口压力

(8)受井组产量控制

这里产量设定是最大值,压力设定是最小值。而且你提供的每一个值都会起控制作用。还是以ECLIPSE软件为例。关键字WCONPROD用来设定井的产量控制。比如:

WCONPROD

A1 OPEN ORAT 100 200 3* 300 /

在这个例子中,设定了三个控制值,及最大产油量100,最大产水量200和最低压力300。井A1初始定油量(ORAT)生产,产油量为100,在井的生产过程中,产水量可能在上升,井底压力在下降,当井底压力下降到300时,压力不再下降,井将转为定井底压力300生产。这时产水量仍然可能上升,油量下降,当产水量达到200时,井转为受产水量控制。压力可能会上升,油量下降。对于注水井或注气井,你可以采用以下几种注入控制方式:

(1)定地面注入量

(2)定油藏注入量

(3)井井底压力

(4)定进口压力

(5)受井组注入控制

这里注入量和压力的设定都是最大值。与生产控制相类似,所有设定项都会起控制作用。

对于生产井,可以设定以下经济极限控制。

(1)最小产油量

(2)最小产气量

(3)最大含水

(4)最大油气比

(5)最大气水比

当井的生产违背了经济极限控制的化,你可以要求:

(1)关井

(2)封层

(3)修井

(4)开新井

(5)测试

(6)气举

(7)减产

(8)换油管

对于井组或油田,你可以采用以下生产控制方式:

(1)定井组或油田油量生产

(2)定井组或油田水量生产

(3)定井组或油田气量生产

(4)定井组或油田液量生产

(5)定井组或油田油藏产液量

在进行井组或油田生产控制时,单井的产量可以有以下几种操作方式:

(1)根据每口井的产能进行分配

(2)为每口井提供参考产量,井组根据井的参考产量值进行匹配

(3)优先设定,优先值大的井先生产,当这些井不能满足井组产量,再生产优先值低的井。

(4)自动钻新井,当井不能满足井组产量,自动钻新井。

对于井组生产也可以设定井组的经济极限控制:

(1)井组最小产油量

(2)井组最小产气量

(3)最大含水

(4)最大油气比

(5)最大气水比

当井组的生产违背了经济极限控制的化,你同样可以要求:

(1)关井

(2)封层

(3)修井

(4)开新井

(5)测试

(6)气举

(7)减产

(8)换油管

井组的注入方式可以有以下几种控制方式:

(1)地面注气量或注水量

(2)油藏注气量或注水量

(3)地面注采比

(4)油藏注采比

如果你想保持油藏压力水平,你还可以设定油藏压力水平,这时模型可以自动调整:

(1)井组油藏产量

(2)井组油藏注水量

(3)井组油藏注气量

(4)井组地面注水量

(5)井组地面注气量

10:如何加快数模计算以及如何解决数模计算的收敛性问题?

在了解收敛性之前,应该首先了解几个基本概念:

(1)。报告步:一个数模作业包括多个报告步,报告步是用户设置要求多长时间输出运行报告,比如可以每个月,每季度或每年输出运行报告,运行报告包括产量报告和动态场(重启)报告。

(2)。时间步:一个报告步包括多个时间步,时间步是软件自动设置,即通过多个时间步的计算来达到下一个报告步,以ECLIPSE为例,假如报告步为一个月,在缺省条件下,ECLISPE第一个时间步取一天,然后以三倍增加,即第二个时间步取三天,然后取九天,下一个时间步是17天来达到30天的报告步,然后会以每30天的时间步来计算。时间步可以通过TUNING关键字来修改。(3)。非线形迭代:一个时间步包括多次非线形迭代。在缺省情况下,ECLIPSE 如果通过12次的非线形迭代没有收敛,ECLIPSE将对时间步减小10倍。比如下一个时间步应该是30天,如果通过12次的迭代计算不能达到收敛,ECLIPSE将把时间步缩短为3天。下一个时间步将以1.25倍增长,即3.75天,4.68天,。。。。如果在计算过程中经常发生时间步的截断,计算将很慢。(4)。线形迭代:一个非线形迭代包括多次线形迭代。线形迭代是解矩阵。

在ECLIPSE输出报告PRT文件中可以找到时间步,迭代次数的信息,比如:STEP 10 TIME= 100.00 DAYS ( +10.0 DAYS REPT 5 ITS) (1-FEB -2008) “STEP 10” : 说明这是第10个时间步。

“TIME= 100.00 DAYS”:说明现在模拟到第100天。

“+10.0 DAYS”:说明这个时间步是10天。

“REPT" :说明为什么选10天做为时间步,REPT是指由于到了下一个报告步。

“5 ITS": 说明此10天时间步需要5次非线形迭代。

”(1-FEB-2008)“:现在的模拟时间。

模拟计算的时间取决于时间步的大小,如果模型没有发生时间步的截断而且能保持长的时间步,那表明该模型没有收敛性问题,反之如果经常发生时间步截断,那模型计算将很慢,收敛性差。时间步的大小主要取决于非线形迭代次数。如果模型只用一次非线形迭代计算就可以收敛,那表明模型很容易收敛,如果需要2到3 次,模型较易收敛,如果需要4到9次,那模型不易收敛,大于10次的化模型可能有问题,如果大于12次,时间步将截断。

模型不收敛的原因很多,网格参数,属性参数,流体PVT参数,岩石相渗曲线,毛管压力曲线,相渗曲线端点标定,初始化,井轨迹,垂直管流表都会造成模型不收敛,下面分别介绍各部分如何造成不收敛及如何解决。

(1)。网格部分:

网格正交性差和网格尺寸相差太大是导致不收敛的主要原因之一。正交性差会给矩阵求解带来困难,而网格尺寸相差大会导致孔隙体积相差很大,大孔隙体积流到小孔隙体积常会造成不收敛。

解决办法:

网格正交性差通常是在建角点网格时为描述断层或裂缝的走向而造成的。在此情况下,最好能使边界与主断层或裂缝走向平行,这样一方面网格可以很好地描述断层或裂缝,另一方面正交性也很好。

在平面上最好让网格大小能够较均匀,在没有井的地方网格可以很大,但最好能够从大到小均匀过渡。纵向上有的层厚,有的薄,最好把厚层能再细分。在检查模型时应该每层每层都在三维显示中检查。

径向局部网格加密时里面最小的网格不要太小。

在ECLIPSE里用MINPV关键字可以把小于设定孔隙体积的网格设为死网格,这样通常会有用。

(2)。属性参数:

不合理的插值计算会导致属性分布很差,如果是从地质模型粗化为数模模型,通常问题不大,只是有时候数模人员自己插值时会有问题。

解决办法:

有可能尽量用地质模型的数据,自己插值时可以加一些控制点使属性合理分布。X,Y方向的渗透率最好相等或级差不大。在井连通网格的Z方向渗透率不要设为0,如果想控制垂向流动,可给一个很小的值。

(3)。流体PVT参数

流体PVT参数会有两种可能的问题,一是数据不合理导致了负总压缩系数,二是压力或气油比范围给的不够导致模型对PVT参数进行了外插。

解决办法:

检查PRT文件中的WARNING信息,如果在油藏压力范围内有负总压缩系数的警告,应该修改PVT参数,否则的化会有收敛性问题。如果负总压缩系数是在油藏压力范围之外,可以忽略该警告。此部分的修改主要可以小规模修改油和气的FVF和RS。

(4)。岩石相渗曲线和毛管压力曲线。

通常的问题有:

饱和度和相对渗透率的数据位数过多。

饱和度值太接近,导致相渗曲线的倾角变化很大。

饱和度有很小变化但相对渗透率发生了很大变化。

解决办法:

饱和度和相对渗透率最多给两位小数就够了。

检查相渗曲线的导数(可以应用ECLIPSE中的SCAL模块),导数要光滑。

临界饱和度和束缚饱和度设为不同的值。

(5)。端点标定:

在应用端点标定时,有时标定完后的相渗曲线倾角很大,标定后的毛管了很大。解决办法:

在三维显示中检查标定完的PCW,可以给PCW一个最大值来控制毛管压力。

输出每个网格标定后的相渗曲线进行检查。

(6)。初始化:

初始化最容易发生的问题是在初始时模型不稳定,流体在初始条件下就会发生流动,这也会导致模型不收敛。造成模型初始不稳定的主要有:

手工通过网格饱和度和压力值。

拟合初始含水饱和度。

解决办法:

尽量不要直接为网格赋压力和饱和度值,尽量由模型通过油水界面及参考压力来进行初始化计算。

要想拟合地质提供的初始含水饱和度分布,应该进行毛管压力的端点标定,这样毛管压力会稳住每个网格的水,在初始条件下不会流动。

可以通过让模型在没有任何井的情况下计算十年来检查初始条件下模型是否稳定,如果10年的计算模型压力和饱和度都由说明变化,说明模型初始是稳定的。=

(7)。井轨迹:

在进行井处理时井可能以之字型在网格中窜过,有可能发生井的实际窜过方向与模型关键字定义的方向不符,这也会导致不收敛。

解决办法:

在三维显示中检查井轨迹。

如果井已经关掉,在模拟时不要给零产量,要用关键字把井关掉。

检查井射孔,井不要射在孤立的网格上。

(8):垂直管流曲线:

有了垂直管流曲线很容易导致模型不收敛,这有两种可能:

曲线有交叉。

曲线发生了外插。

解决办法:

用前处理软件(ECLIPSE中的VFPi)检查曲线。

在ECLIPSE中加EXTRAPMS关键字可以要求输出如果发生VFP插值后的警告信息。

曲线应该覆盖所有井口压力,含水,油气比及产量。

11。结束语

黑油模型数值模拟入门指南先写到这里,其实还有许多没有写道。以后有时间可以再补充。下一步计划写一写组分模型入门指南。组分比黑油要复杂的多。当然关键是状态方程,希望可以早日动手。

Eclipse调试方法入门

Eclipse调试 这个教程将帮助学生获得关于调试的一些关键概念,以及如何进行一个调试 这是我们所熟悉的Eclipse环境,我们从这里开始教程。打开一个我们想进行调试的工程 需要做的第一件事就是给我们的工程设置一个调试特性,点击bug图标之后的下拉三角。弹出Debug窗口 双击Jave Application,我们可以对程序创建一个Java Application型的新配置。选择工程及主类。点击“Apply”然后关闭。

放置断点 断点起到告诉程序什么时候暂停的作用。进入你想放置断点的代码行。右键点击选中行前面的的兰色竖条部分。选择toggle breakpoint。或者双击兰色竖条。 选择toggle breakpoint. 选择Window菜单,切换到debug透视图。这就是Debug透视图,如果你注意到,我们的代码窗口在下方。并且上面多出了两个窗口,左边就是显示我们运行程序的窗口,以及堆栈。右边将显示变量和表达式。

下的箭头符号,进行选择 代码变为绿色,意思是这是将要执行的下一行代码。

现在我们可以执行几个操作。其中比较基础的一个是单步操作。如果断点标注的是一个函数调用,选择单步进入Step Into,你可以执行并进入到代码的下一行;同样的如果你想不执行方法的这一行,你可以执行“Step over”,并且不进入方法。 假设我们使用单步跳入,并且进入了一个函数调用开始调试。这时如果我们使用一个“Step Return”,这将完成执行方法的余下部分。你将顺利的处于方法后的将要执行的那一行代码中。

(继续)按钮。 最后,如果我们不再想进行调试,并且想要程序结束,你可以点击位于左窗口顶端的“terminate”按钮。

Java基础入门教程(适合所有初学者)

第1章 Java语言概述与面向对象思想 1 1.1 Java语言的发展 1 1.1.1 Java语言的产生 1 1.1.2 Java语言的发展 1 1.2 Java语言的特点 2 1.3 面向对象与面向过程的差异 3 1.3.1 面向过程思想回顾 4 1.3.2 面向对象思想介绍 4 1.4 面向对象程序设计中的主要概念和特征 4 1.4.1 主要概念 5 1.4.2 主要特征 5 *1.5 Java与C++的差异 5 1.6本章小结5 习题 5 第2章 Java语言开发环境 6 2.1 JDK 6 2.1.1 JDK的简介6 2.1.2 JDK的构成6 2.1.3 JDK的使用6 2.2 IDE 8 2.2.1 IDE简介8 2.2.2 JBuilder 9 2.2.3 Eclipse 9 2.2.4 相关资源9 2.3 Project管理9 2.3.1 Project的含义9 2.3.2 可行的Project组织模式9 2.3.3 主要开发工具的Project目录10 2.4 本章小结10 习题10 第1章 Java语言概述与面向对象思想 1.1 Java语言的发展 1.1.1 Java语言的产生以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java 技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作 上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。 该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。 随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling

eclipse官方使用教程翻译

Eclipse 官方教程 Lars vogel Version 2.3 Copyright ? 2007 - 2011 Lars Vogel 11.11.2011 Eclipse java ide 本教程java ide eclipse的用法,涉及到eclipse的安装,java程序的创建和使用eclipse的细节,教程基于eclipse3.7(indigo) 1. eclipse概览 很多人知道eclipse是一个java ide。 Eclipse由开源软件社区创建,并且应用于很多不同的领域,比如作为java或者android的开发环境。 Eclipse工程由eclipse基金会管理,eclipse基金会是一个掌管eclipse工程而且帮助培养开源社区以及一个完整的包含产品和服务的非盈利性并由成员支持的公司。 Eclipse起源于2001年,今天在java开发环境市场占有率达到了65%。 Eclipse能够由各种插件来扩展,因此有很多开源工程和公司通过插件扩展了eclipse,所以使用eclipse也可以开发(eclipse rcp) 2开始 2.1安装 Eclipse需要安装安装java运行时。我推荐使用java 7(就是java1.7)。安装eclipse需要从https://www.doczj.com/doc/6111796764.html,/downloads下载包“eclipse ide for java developers”。并将它解压到一个目录中,使用的目录名不能包含空格,有时候eclipse出现问题就是因为这个。解压完了之后就可以使用了,不需要什么额外的安装过程。 2.2开始使用eclipse 启动eclipse需要双击eclipse.exe(windows),或./eclipse(linux\mac)。系统会提示你指定一个workspace。Workspace是用来存储java工程(关于workspace,后面有详细讲解)。选择一个空目录然后点击OK,如图:

Eclipse_CDT安装及使用教程

Eclipse CDT安装及使用教程 Eclipse CDT安装教程 一、安装配置JDK 1、下载windows jdk 安装包,可以从官网下载,也可以从这里下载,下载完成后,按照一般软件安装的方法安装; 2、安装完成后,找到安装目录,如C:\Program Files\Java\jdk1.6.0_35,记录下来; 3、Windows7下右击电脑桌面的计算机,选择属性,然后点击右边的“高级系统设置”,在弹出的对话框点击“环境变量”,如图。 4、在步骤3中弹出的对话框的下方,看到系统变量,点击下方的“新建”(见图12),然后在变量名的地方填入JA V A_HOME,变量值填入步骤2中记录的路径,然后点击确定;

5、按照步骤4的方法,新建另一个变量,变量名是:CLASSPATH,变量值是:.;%JA V A_HOME%\lib\dt.jar;%JA V A_HOME%\lib\tools.jar;%JA V A_HOME%\jre\lib\rt.jar 统变量中找到变量名为PATH的变量,双击,在变量值的最后加上:;%JA V A_HOME%\bin(见图),然后一路确定。 7、至此,eclipse的运行环境配置成功。

二、配置C/C++编译器MinGW Windows下安装配置MinGW 从MinGW官网下载最新程序,下载地址: https://www.doczj.com/doc/6111796764.html,/project/mingw/Installer/mingw-get-inst/mingw-get-inst-20120426/mi ngw-get-inst-20120426.exe; 双击下载好的程序,然后一路点击“Next”按钮,直到图1的界面,选择“I accept the agreement”,然后点击next。 3、选择路径,默认放在C:\MinGW,点击next;接下来的界面也是next;一直到图中的组件选择界面,勾上C Compiler前面的钩,也可以按自己喜好选上C++ Compiler或其它组件,点击next;在下一个界面点击Install,就会进行安装。

Eclipse中JAVA中文教程

来源:网上 PDF制作:https://www.doczj.com/doc/6111796764.html, Eclipse – 整合开发工具 基础篇

Jacky Lee 2005/03/01

目录 0.环境说明 (8) 1.Eclipse简介 (9) 1.1历史背景 (9) 1.2开发原始码软件 (10) 1.3 Eclipse版本介绍 (10) 1.4跨语言、跨平台 (11) 2. Eclipse Platform (13) 2.1概观 (13) 2.2架构 (13) 2.3项目与资料夹 (14) 2.4平台核心 (14) 2.5工作区(workspace) (15) 2.6工作台(workbench) (15) 2.6.1视图(View) (16) 2.6.2编辑器(Editor) (19) 2.6.3视景(Perspective) (22) 2.7重新排列视图和编辑器 (23) 2.7.1放置游标 (23) 2.7.2重新排列视图 (24) 2.7.3并列编辑器 (25) 2.7.4重新排列附加标签的视图 (26) 2.7.5最大化 (27) 2.8菜单和工具列 (28) 2.8.1菜单 (29) 2.8.2图标和按钮 (44) 2.9视景 (49) 2.9.1新视景 (49) 2.9.2新窗口 (51) 2.9.3储存视景 (52) 2.9.4配置视景 (54) 2.10作业和标记 (55) 2.10.1不相关的作业 (56) 2.10.2相关的作业 (56) 2.10.3开启档案 (58) 2.11书签 (58) 2.11.1新增和检视书签 (59)

2.11.2使用书签 (61) 2.11.3移除书签 (61) 2.12快速视图(Fast View) (63) 2.12.1建立快速视图 (63) 2.12.2使用快速视图 (64) 2.13比较 (65) 2.13.1简单比较 (66) 2.13.2了解比较 (67) 2.13.3使用比较 (69) 2.14历史纪录 (71) 2.15回应 UI (73) 3.喜好设定(Preferences) (76) 3.1工作台(Workbench) (77) 3.1.1外观(Appearance) (79) 3.1.2功能(Capabilities) (80) 3.1.3颜色和字型(Colors and Fonts) (82) 3.1.4比较/修正(Compare/Patch) (83) 3.1.5编辑器(Editors) (86) 3.1.6档案关联(File Associations) (87) 3.1.7按键(Keys) (90) 3.1.8标签装饰(Label Decorations) (99) 3.1.9链接资源(Linked Resources) (99) 3.1.10历史纪录(Local History) (101) 3.1.11视景 (102) 3.1.12搜寻(Search) (104) 3.1.13启动和关闭(Startup and Shutdown) (105) 3.2 Ant (107) 3.2.1 Ant 编辑器(Ant Editor) (107) 3.2.2 Ant 执行时期(Ant Runtime) (109) 3.3建置次序(Build Order) (112) 3.4说明(Help) (113) 3.4.1说明服务器(Help Server) (115) 3.5自动更新(Install/Update) (116) 3.6 Java (117) 3.6.1外观(Appearance) (118) 3.6.2类别路径变量(Classpath variables) (119) 3.6.3程序代码格式制作器(Code Formatter) (120) 3.6.4程序代码产生(Code generation) (122)

Eclipse教程

附录J:Eclipse教程 By Y.Daniel Liang 付蓉译 该帮助文档包括以下内容: ●Eclipse入门 ●选择透视图 ●创建项目 ●创建Java程序 ●编译和运行Java程序 ●从命令行运行Java Application ●在Eclipse中调试 提示:在学习完第一章后使用本教程第1节~第6节,学习完第二章后可配合本教 程的第7节,开始学习第十四章时可配合本教程的第8节。 0 简介 该教程的使用者包括正在通过使用Eclipse来学习Java课程的学生和想要用Eclipse开发Java项目的程序员。Eclipse是由IBM提供的一个开源的Java程序开发软件。 你也可以使用JDK命令行工具来写Java程序。JDK命令行工具包括一系列独立的程序,如编译器和解释器,都可从命令行来激活。除了JDK命令行工具,市场上还有很多Java的开发工具,包括Borland公司的JBuilder、NetBeans、Sun公司的ONE Studio(商业版的NetBeans)、Eclipse和WebGain Visual Café。这些工具为快速开发Java程序提供集成的开发环境(IDE)。编辑、编辑、构造、调试和在线帮助被集成在一个用户图形界面。有效的使用将会极大的提高编程速度。 这个简短的教程将会帮助你熟悉Eclipse,尤其是在创建项目、创建程序、编译和运行程序方面。 提示:Eclipse可运行在任何的Java虚拟机之上。本文中所有的屏幕截图都来自于运行在Windows之上的Eclipse3.0。你可以到https://www.doczj.com/doc/6111796764.html,下载Eclipse。

安装提示:安装Eclipse之前必须安装JDK1.5。JDK1.5可以从https://www.doczj.com/doc/6111796764.html,/j2se/1.5/download.html下载。Windows版本的Eclipse存放在压缩文件eclipse-SDK-3.0-win32.zip中。将文件解压缩到c:\下,解压缩后所有的文件都放在c:\eclipse中。 1 开始使用Eclipse 假设你已经将Eclipse安装在目录c:\eclipse下。要启动Eclipse,双击c:\eclipse目录下的eclipse图标(如图1): 图1 双击后出现了工作区装载窗口(如图2): 图2 输入你的工作区所在的目录,本例所有项目、程序都存放在c:\smith目录下,故输入c:\smith,然后点击OK,Eclipse的图形界面就展现在你的眼前了(如图3)。

eclipse知识教程(1)

ECLIPSE 黑油数值模拟基础 斯伦贝谢科技服务(北京)有限公司 Schlumberger Technology Services (Beijing) Ltd

目录 简介1 目的3 什么是油藏数值模拟 5 如何把模型与实际油藏联系在一起7 为什么要进行油藏数值模拟研究10 为什么选择ECLIPSE 12 ECLIPSE的功能14 ECLIPSE是如何工作的16 静态油藏描述19 PVT和岩石数据22 初始化数据24 井数据26 使用ECLIPSE进行油藏数值模拟研究28 如何使用手册30 文件的组织和结构33 ECLIPSE输入/输出结构35 ECLIPSE输出文件 37 ECLIPSE输出类型 41 输出文件名称44 文件位置48 宏命令的使用50 输入文件结构53

数据文件语法规则56 关键字语法58 各部分通用的关键字60 系统使用63 基本的UNIX命令65 VI编辑器69 RUNSPEC部分 73 RUNSPEC部分的作用 75 RUNSPEC部分关键字 78 不含RUNSPEC部分的数据文料81 GRID部分83 GRID部分的作用85 数据排列规则88 网格几何形状90 块中心网格实例94 角点网格实例97 网格模型格块属性99 如何指定网格格块属性101 传导系数规则109 笛卡儿网格的传导系数Ill 径向网格传导系数118 页岩模型121 传导系数修正124

非相邻连接NNC 128 断层处NNC的生成130 尖灭处NNC的生成132 局部网格加密(LGR)处NNC的生成134 双孔模型中的NNC 136 水体处NNC的生成138 径向网格中NNC的生成140 径向模型142 输出控制145 GRID部分关键字总结 148 GRID部分关键字149 EDIT部分153 EDIT部分的作用155 EDIT部分关键字总结157 PROPS部分—流体属性159 流体属性的作用161 黑油模型概述163 黑油及组分模拟167 油相状态方程169 用PVDO输入dead oi1的PVT属性172 用PVCDO输入dead oi1的PVT数据174 用PVTO输入live oil的PVT数据176 用PVCO输入live oi1的PVT数据178

Eclipse教程入门到精通

Eclipse –入门到精通 初级篇 目录 0.环境说明 (8) 1.Eclipse 简介 (9) 1.1 历史背景 (9) 1.2 开发原始码软件 (10) 1.3 Eclipse 版本介绍 (10) 1.4 跨语言、跨平台 (11) 2. Eclipse Platform (13) 2.1 概观 (13) 2.2 架构 (13) 2.3 项目与资料夹 (14) 2.4 平台核心 (14) 2.5 工作区(workspace) (15) 2.6 工作台(workbench) (15) 2.6.1 视图(View) (16) 2.6.2 编辑器(Editor) (19) 2.6.3 视景(Perspective) (22) 2.7 重新排列视图和编辑器 (23) 2.7.1 放置游标 (23) 2.7.2 重新排列视图 (24) 2.7.3 并列编辑器 (25) 2.7.4 重新排列附加标签的视图 (26) 2.7.5 最大化 (27) 2.8 菜单和工具列 (28) 2.8.1 菜单 (29) 2.8.2 图标和按钮 (44) 2.9 视景 (49) 2.9.1 新视景 (49) 2.9.2 新窗口 (51) 2.9.3 储存视景 (52) 2.9.4 配置视景 (54) 2.10 作业和标记 (55) 2.10.1 不相关的作业 (56) 2.10.2 相关的作业 (56) 2.10.3 开启档案 (58) 2.11 书签 (58)

2.11.1 新增和检视书签 (59) Eclipse 中文教程.doc 第 4 頁,共 288 頁 2.11.2 使用书签 (61) 2.11.3 移除书签 (61) 2.12 快速视图(Fast View) (63) 2.12.1 建立快速视图 (63) 2.12.2 使用快速视图 (64) 2.13 比较 (65) 2.13.1 简单比较 (66) 2.13.2 了解比较 (67) 2.13.3 使用比较 (69) 2.14 历史纪录 (71) 2.15 回应 UI (73) 3.喜好设定(Preferences) ...................................................... 76 3.1 工作台(Workbench) (77) 3.1.1 外观(Appearance) (79) 3.1.2 功能(Capabilities) (80) 3.1.3 颜色和字型(Colors and Fonts) (82) 3.1.4 比较/修正(Compare/Patch) (83) 3.1.5 编辑器(Editors) (86) 3.1.6 档案关联(File Associations) (87) 3.1.7 按键(Keys) (90) 3.1.8 标签装饰(Label Decorations) (99) 3.1.9 链接资源(Linked Resources) (99) 3.1.10 历史纪录(Local History) (101) 3.1.11 视景 (102) 3.1.12 搜寻(Search) (104) 3.1.13 启动和关闭(Startup and Shutdown) (105) 3.2 Ant (107) 3.2.1 Ant 编辑器(Ant Editor) (107) 3.2.2 Ant 执行时期(Ant Runtime) (109) 3.3 建置次序(Build Order) (112) 3.4 说明(Help) (113) 3.4.1 说明服务器(Help Server) (115) 3.5 自动更新(Install/Update) (116) 3.6 Java (117) 3.6.1 外观(Appearance) (118) 3.6.2 类别路径变量(Classpath variables) (119) 3.6.3 程序代码格式制作器(Code Formatter) (120) 3.6.4 程序代码产生(Code generation) (122) Eclipse 中文教程.doc 第 5 頁,共 288 頁

eclipse入门

Eclipse Overview: Threshold pressure 毛细管入口压力 SCAL special core analysis 岩心分析 VFP vertical flow performance 纵向流动表现 PEBI perpendicular bisector 垂直二等分物、垂直等分线 Regress 退回、回归 LGR local grid refinement 局部网格加密 Script 手稿、原稿、正本 Incremental\increment 增加的、增加 DM data m anager Misc: m iscellaneous杂项。 Cartesian:直角坐标、笛卡尔坐标 Toggle:反复(变化) Diffusivity 扩散 FVF form ation volume factor 地层体积系数 wrt 相对于 Getting started\开始: 双击启动launcher,点office,默认directory及version点run,出现检查框,随后出现office 主对话框。 Tutorial 1: standard usage\教程1:标准用法 1、Case management/项目管理 在office主菜单,点file\new project,选择directory(可直接选在2004a下),命名为tuit1。在office主菜单,点case\import,选择brillig.data(搜一下,在tutorials下有),此时右侧说明区出现各项文字。 在office主菜单,点view\display m odel in DM,再点view\display m odel in grid section。此时查看在所选的目录文件夹下产生一系列文件: 地质关键字及局部加密在***-GGO.INC (第二三个字符GO代表geometry) GRID性质关键字在***-GPRO.INC (第二三个字符PR代表property) GRID操作关键字在***-GOPP.INC (第二三个字符OP代表operational) GRID其他关键字在***-GOTH.INC (第二三个字符OT代表other) GRID断块属性更改在***-EDIT.INC PVT数据在***-PVT.INC 饱和度属性在***-SCAL.INC 初始化数据在***-INIT.INC 局部数据在***-REG.INC 生产计划数据在***-SCH.INC 总结数据在***-SUM.INC 此外产生GRID字头文件***-GHDR,该文件在模拟过程中不使用。(HD代表header.) 在office主菜单,点file\save project保存文件。注意,因路径的原因,要特别慎重使用save project as,如果拷文件,应使用backup及restore。 2、Data m anager\数据管理 在office左侧主菜单,点data,出现data m anager module对话框。显示区出现断层及井点。 2.1、Case definition\ 项目定义 点data m anager \sections\case definition,出现case definition manager对话框。 在首行的simulator选blackoil。 点general签,将title改为import case,日期改为1-jan-1990,确保units选field、type 选normal。

eclipse教程——入门篇(编程爱好者学习的经典教材)

Eclipse教程 By Y.Daniel Liang 该帮助文档包括以下内容: ●Eclipse入门 ●选择透视图 ●创建项目 ●创建Java程序 ●编译和运行Java程序 ●从命令行运行Java Application ●在Eclipse中调试 提示:在学习完第一章后使用本教程第1节~第6节,学习完第二章后可配合本教程的第7节,开始学习第十四章时可配合本教程的第8节。 0 简介 该教程的使用者包括正在通过使用Eclipse来学习Java课程的学生和想要用Eclipse开发Java项目的程序员。Eclipse是由IBM提供的一个开源的Java程序开发软件。 你也可以使用JDK命令行工具来写Java程序。JDK命令行工具包括一系列独立的程序,如编译器和解释器,都可从命令行来激活。除了JDK命令行工具,市场上还有很多Java的开发工具,包括Borland公司的JBuilder、NetBeans、Sun公司的ONE Studio(商业版的NetBeans)、Eclipse和WebGain Visual Café。这些工具为快速开发Java程序提供集成的开发环境(IDE)。编辑、编辑、构造、调试和在线帮助被集成在一个用户图形界面。有效的使用将会极大的提高编程速度。 这个简短的教程将会帮助你熟悉Eclipse,尤其是在创建项目、创建程序、编译和运行程序方面。 提示:Eclipse可运行在任何的Java虚拟机之上。本文中所有的屏幕截图都来自于运行在Windows之上的Eclipse3.0。你可以到下载Eclipse。 安装提示:安装Eclipse之前必须安装JDK1.5。JDK1.5可以从下载。Windows版本的Eclipse存放在压缩文件eclipse-SDK-3.0-win32.zip中。将文件解压缩到c:\下,解压缩后

Eclipse2010.1_office教程练习1:

Eclipse 2010.1_office 教程 练习1 Standard usage软件的标准使用 目录 简介 (2) 运行步骤 (2) 问题描述 (3) 数据准备 (3) 一、方案管理(Case management) (3) 二、数据管理器(Data manager) (4) 三、运行管理器(Run manager) (10) 四、报告生成器(Report generator) (11) 五、结果观察器(Results Viewer) (12) 六、PRT Report generator 报告生成器 (15) 七、Exit ECLIPSE Office 退出 (17)

Eclipse 2010.1_office 教程 练习1 Standard usage软件的标准使用 简介 该练习的详细步骤如下:输入已有的数据集data set、编辑数据、保存工程、运行和监视模拟过程、观察结果变量和创建报告。 本练习需要35分钟的时间完成。 运行步骤 该练习所涉及到的软件部分如下: 1 方案管理(Case managerment) 2 数据管理器(Data manager) a 定义方案(Case definition) b 定义网格(Grid section) c 输入PVT参数(PVT section) d 输入岩石物性参数(SCAL section) e 输入初始条件(Initialization section) f 时间进程安排(Schedule section) g 最后总结(SUMMARY section) 3运行管理器(Run manager) 4报告生成器(Report generator) 5结果观察器(Result viewer) a 观察结果数据 b 2D观察器:初始数据和结果数据 c 3D观察器:初始数据和结果数据 d 生成PRT 报告

最新eclipse教程——基础篇

Eclipse教程 该帮助文档包括以下内容: ●Eclipse入门 ●选择透视图 ●创建项目 ●创建Java程序 ●编译和运行Java程序 ●从命令行运行Java Application ●在Eclipse中调试 0 简介 该教程的使用者包括正在通过使用Eclipse来学习Java课程的学生和想要用Eclipse开发Java项目的程序员。Eclipse是由IBM提供的一个开源的Java程序开发软件。 你也可以使用JDK命令行工具来写Java程序。JDK命令行工具包括一系列独立的程序,如编译器和解释器,都可从命令行来激活。除了JDK命令行工具,市场上还有很多Java的开发工具,包括Borland公司的JBuilder、NetBeans、Sun公司的ONE Studio(商业版的NetBeans)、Eclipse和WebGain Visual Café。这些工具为快速开发Java程序提供集成的开发环境(IDE)。编辑、编辑、构造、调试和在线帮助被集成在一个用户图形界面。有效的使用将会极大的提高编程速度。 这个简短的教程将会帮助你熟悉Eclipse,尤其是在创建项目、创建程序、编译和运行程序方面。 提示:Eclipse可运行在任何的Java虚拟机之上。本文中所有的屏幕截图都来自于运行在Windows之上的Eclipse3.0。你可以到下载Eclipse。 安装提示:安装Eclipse之前必须安装JDK1.5。JDK1.5可以从下载。Windows版本的Eclipse存放在压缩文件eclipse-SDK-3.0-win32.zip中。将文件解压缩到c:\下,解压缩后所有的文件都放在c:\eclipse中。

Eclipse for JavaEE图解教程

[图解教程]Eclipse不可不知的用法之一:自动生成Getter、Setter和构造方法关键词:Getters and Setters、getter和setter方法、Constructor using Fields、构造方法(构造函数)、Eclipse-jee使用方法、自动生成代码、Eclipse3.5、图解使用教程 (1)POJO类自动生成Getter和Setter方法: Persion.java原来的代码: 在上面代码的空白处点右键,或者在Person类名上点右键—> Source –> Generate Getters and Setters,如下图:

接着,在Generate Getters and Setters对话框中,将Persion的属性id和name钩上,或直接点击―Select All‖按钮将所有属性选中,点OK即行。

我们再看看Person.java类的代码:

可见,Getter方法和Setter方法自动生成了,比一个一个去敲代码便捷多了。 (2)自动生成构造方法(构造函数): 在类代码的空白处点右键,或者在类名上点右键—> Source –> Generate Constructor using Fields,如下图:

在Generate Constructor using Fields对话框中, 将Persion类的全部属性或部分属性钩上,点OK即行。如下图: 下来,来看看自己生成的构造方法,见下图选中部分:

[图解教程]Eclipse不可不知的用法之二:自动生成接口和JUnit测试类 关键词:Extract Interface、抽取接口、JUnit Test Case、JUnit测试、自动生成接口、自动生成测试类、Eclipse-jee使用方法、自动生成代码、Eclipse3.5、图解使用教程 (3)通过类自动生成它的接口: 在Spring应用中,常常会用到―接口+实现类‖的形式,即要实现类又要写一个方法差不多的接口,有时候感觉比较烦琐。其实,Eclipse可以根据类自动抽取出接口来。PersonServiceImpl.java的代码如下:

Eclipse开发环境配置-indigo

开发环境配置1、java环境 安装 本系统使用java7开发,版本如下: 配置 安装后需要配置环境变量,如下所示: 配置classpath,如下:

并在path中添加java7安装目录中的bin目录路径,如下所示:

检验是否安装成功,cmd进入命令行模式,输入java,出现如下画面表示安装java完成: 2、web容器 安装 本系统开发环境使用tomcat6及以上版本,“开发工具”目录提供了apache-tomcat-7.0.53.zip。 解压安装包到自己的电脑上,建议不要解压到中文目录下,老师的tomcat7放在了E盘根目录E:\apache-tomcat-7.0.53。 配置 网上有些安装教程提到需要配置CATALINA_HOME环境变量,此变量指向了tomcat 的目录,主要是为了方便tomcat运行使用,如果配置了,你的电脑上有多个tomcat目录时只能成功运行那个和CATALINA_HOME一致的tomcat,如果不配置,在你启动tomcat时它会自己确定tomcat目录,这里我们就不配置了。

运行 运行tomcat目录中的bin/startup.bat,启动tomcat,如果启动不起来就到logs查看错误日志,启动后有浏览器输入http://localhost:8080/,进入如下画面表示tomcat安装成功。 3、eclipse环境 eclipse安装 本系统开发使用eclipse-indigo进行开发,在“开发工具”目录中有eclipse-3.7-indigo 32位.zip 安装包。 解压安装包到固定位置,建议不要解压到中文目录,运行:eclipse.exe,初次运行会让你确定自己的工作区,工作区是你创建project工程的地方,选择一个容易操作到的目录作为你的工作区,建议工作区目录不要设在中文目录中。 Eclipse插件安装: 将“开发工具”目录的“eclipse-plugins”目录拷贝到自己的电脑上,“eclipse-plugins”目录中包括了三个插件,另将此目录的txt文件拷贝到eclipse目录中dropins目录下,并对每个

Eclipse使用教程

1、ALT+/:提示 2、Ctrl+shift +F:自动排版 3、Ctrl+shift +C:多行注释 4、Windows—reset view 初始化视图 5、输入syso按下ALT+/就会自动生成System.out.println(); 6、Java类名是大写开头才规范。如果类名写成了小写,可选中类名,右键选择 Refactor-Rename(重构这个类的名字) 7、Ctrl+E,当你打开多个java文件时,用这个组合可以选择相应的java文件。 8、常用快捷键

9、Eclipse内存不足问题 方法一: 打开eclipse,选择Window--Preferences...在对话框左边的树上双击Java,再双击Installed JREs,在右边选择前面有对勾的JRE,再单击右边的“Edit”按钮。 出现一个Edit JRE 的对话框,在其中的Default VM Arguments: 框中输入-Xms128m -Xmx512m ,设置Java拟虚机内存使用最小是128M,最大是512M,再单击“OK”并关闭Edit JRE 对话框。再单击“OK”关闭Preferences对话框,重启 Eclipse验证。 方法二: 可以在eclipse.ini文件中将默认设置改为-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M或者更大,视机器的内存配置而定,如果这样解决不了就右击eclipse快捷方式,在属性---快捷方式标签下---目标中输入 D:/eclipse-SDK-3.2RC7-win32/eclipse/eclipse.exe -clean -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M其中 D:/eclipse-SDK-3.2RC7-win32/eclipse/eclipse.exeeclipse的位置。

2019年Eclipse完美教程

2017eclipse 最新中文版教材 简介 Eclipse就像软件开发者的『打铁铺』,它一开始备有火炉、铁钻与铁锤。就像铁匠会用现有的工具打造新的工具,也能用Eclipse打造新工具来开发软件-这些新工具可扩充Eclipse的功能。(Eclipse其中一个卖点就是它的扩充性) 历史背景 Eclipse这样功能完整且成熟的开发环境,是由蓝色巨人IBM所释出。IBM花了4千万美金来开发这个 IDE(Integrated Development Environment)。第一版在2001年11月释出,随后逐渐受到欢迎。 Eclipse已经成为开放原始码计划(Open Source Project),大部分的开发扔然掌握在IBM手中,但是有一部份由的软件联盟主导。项目由Project Management Committee(PMC)所管理,它综观项目全局,Eclipse项目分成3个子项目: ●平台-Platform ●开发工具箱-Java Development Toolkit(JDT) ●外挂开发环境-Plug-in Development Environment(PDE) 这些子项目又细分成更多子项目。例如Platform子项目包含数各组件,如Compare、Help与Search。JDT 子项目包括三各组件:User Interface(UI)、核心(Core)及除错(Debug)。PDE子项目包含两各组件:UI与Core。开发原始码软件 Eclipse是开放原始码,结果很多人在使用的时候都不注重合法权的问题。开放原始码软件让使用者能够取得软件的原始码,有权去修改和散布这个软件。如果想修改软件,这件事的另一面就是,除非其它人对修改后的软件也有相同的权力,否则是不能散布修改后的软件,这种权利和著作权(copyright)相反,开放原始码项目中有时称之为著作义(copyleft)。 有些开放原始码许可书,坚持要求任何和其它开发原始码合组成的软件也必须是开放原始码。然而,Eclipse 使用的开放原始码许可书:公共公众许可书-Common Public License(CPL)作为授权方式,设计上是可以容许商业利益的。CPL可以容许Eclipse和其它开放原始码软件合组时,能够以更严谨的许可书散布软件,以求用于商业途径。CPL经过Open Software Initiative(OSI)认证,其内容符合开放原始码授权的需求。 Eclipse版本介绍 可以从网站下载,可以发现『最新』与『最好』的版本,这两种版本通常不一样,基本上有四种版本-或建置(build)可供下载: ●释出版(Release builds) 由Eclipse开发团队所宣称的主要稳定版本。Release builds经过完整测试,并具有一致性、定义 清楚的功能。它的定位就跟上市的商业软件一样。 ●稳定版(Stable builds) 比Release build新一级的版本,经由Eclipse开发团队测试,并认定它相当稳定。新功能通常会 在此过渡版本出现。它的定位就跟商业软件的beta版一样。 ●整合版(Integration builds) 此版本的各个独立的组件已经过Eclipse开发团队认定具稳定度,但不保证兜在一起没问题。若兜 在一起够稳定,它就有可能晋级成Stable build。 ●当日最新版(Nightly builds) 此版本显然是从最新的原始码产生出来的。可想而知,此版本当然不保证它跑起来没问题,搞不好 还有严重的bug。

如何使用eclipse打开已有工程

如何使用eclipse打开已有工程 在开始使用Eclipse的时候,会发现一个问题,那就是如何打开一个现有的Eclipse工程,开始在菜单中找了好久也没找到。 其实,Eclipse生成的结果不像VC,Jcreator那样可以直接打开,若要打开非workspace 文件夹下的其他已有工程,可以打开菜单file->import→general→existing project into space.在select root directory中选中要打开的文件夹即可。此时如果选择copy existing project into workspace就会同时将文件拷贝到workspace下。这里首先要保证要保证Eclipse两个文件.classpath和.project还在,不然无法导入,就是说Eclipse的import只认自己家的东西。 如果要打开的工程与Eclipse的配置不同,在运行时会产生问题。解决方法是: 打开菜单project→properties修改。主要需要修改的是java build path项。 如何使用Eclipse导入并运行源码 由于eclipse用得不是很熟,还不知道怎么样把已有的文件导入到工程中来,网上研究,顺利解决。 我的源码存放地址是: C:\Documents and Settings\Administrator\桌面\手机QQ2007正式版\src 创建eclipse工程就不赘述了,建立的工程文件目录是:C:\Documents and Settings\administrator\桌面\MyQQ 我使用的是eclipse3.2.1中文版,导入源码到工作空间中去,选择文件->导入,然后再选择文件系统,再选择要导入的源码的路径即可导入。导入后打开项目->属性对话框,在Java 构建路径中的源代码中选择想要编译的目录,并且可以设置输出路径,点OK后即可对所导入的源文件进行编译。十分方便。由于我导入的源文件下还有目录,所以这时会报错,因为导入后会按包的形式组织,所以会报以下错误: The declared package does not match the expected package appendixaStringer.javaThinking in Java/appendixaline 12006年11月11日14:11:203870 这时只要在程序的最前面加上package命令就可以了,例如对于以上的报错,需要加入package appendixa即可。编译后接着就是运行了,运行的时候要注意,需要在工作路径下按照包来调用,例如我的工作路径是\thinking in java\c04\,下有SimpleConstructor.java文件,编译完成后,需要在\thinking in java目录下输入:java c04.SimpleConstructor,这里包括了正确的包结构,这样才能正常运行。没有包含正确的包结构或者没有在正确的路径下操作,则会报以下错: Exception in thread "main" https://www.doczj.com/doc/6111796764.html,ng.NoClassDefFoundError: c04/SimpleConstructor 注意目录结构是/thinking in java\c04\SimpleConstructor,所以要在thinking in java目录下运行以下命令,注意要加包结构。 运行结果如下: D:\javacard\Thinking in Java>java c04.SimpleConstructor Creating Rock Creating Rock Creating Rock Creating Rock

相关主题
文本预览
相关文档 最新文档