Eclipse office练习5用ECLIPSE OFFICE 和SIMOPT进行历史拟合Word格式文档下载.docx
《Eclipse office练习5用ECLIPSE OFFICE 和SIMOPT进行历史拟合Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Eclipse office练习5用ECLIPSE OFFICE 和SIMOPT进行历史拟合Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
10在Extract/LoadSummaryVectors面板上,选择ReadAllSummaryVectors。
11在Extract/LoadSummaryVectors面板上,选择ReadAllReports。
12在Extract/LoadSummaryVectors面板上,单击Load。
13单击Yes,输入所有的变量。
14ResultsViewerModule:
View|SummaryVectors
15SummaryVectors:
New|User
16在UserTemplates面板的X-Axis列表中,选择TIME。
17在UserTemplates面板的X-Axis列表中,选择WWCT:
PROD1。
18单击AddToList按钮。
19单击OK(UserTemplates面板上)。
比较模拟数据和实际测数据
现在,建立ECLIPSEOffice工程和运行模拟,其结果可与实测井含水率数据进行比较。
20SummaryVectors:
File|Observed|ColumnFormat。
21打开文件prod1.wwct。
22单击OK,使用ColumnFormatUserData面板中的缺省列格式。
23SummaryVectors:
New|Observed
24在SelectObservedVectorsforplotting面板的X-AxisVectors列表中选择TIME。
25在SelectObservedVectorsforplotting面板的X-AxisVectors列表中选择WWCT:
26单击AddtoList。
27选择AddtoGraph。
28单击OK。
如果所作图线是新图线,则可略去第27步。
讨论
对于井PROD1,模型结果和实测结果间拟合较好,但在生产的早期和晚期,二者产水相差较大。
这可能是断层间水的流度太大,或Z方向的流度偏高。
在该练习的第三阶段(在SimOpt中建立历史拟合工程),将使用SimOpt检查这些参数并尽量获得一较好的拟合结果。
然而,在这样做之前,必须为SimOpt准备好模型。
“在SimOpt中,使用输出ECLIPSEOffice工程”部分的练习将检查从ECLIPSEOffice工程到SimOpt工程的传递。
二、在SimOpt中,使用输出ECLIPSEOffice工程
如果没有进行上面的操作,应使用SNARKSIM.DATA建立ECLIPSEOffice工程。
如果不知道怎样建立ECLIPSEOffice工程,可参见第一步中的相关内容。
为SimOpt做模型准备的第一步是:
在ECLIPSEOffice工程中建立新方案。
1ECLIPSEOffice:
Case|AddCase|Clone所创建的新方案包含了与缺省方案相同的信息。
注意:
SimOpt将为输入的数据添加有“_1”脚标的文件名(如BASE.DATA变为BASE_1.DATA)。
因此SimOpt版的模型将不会受到原始数据集的影响。
它将拒绝
文件名“_1”脚标的数据文件。
2在CaseNames树中,单击新方案,以激活它。
3ECLIPSEOffice:
Case|Show
4改变方案名为:
ORIGINAL.
5单击OK。
File|SaveProject。
建立INIT文件
SimOpt需要INIT文件和数据集。
在从ECLIPSEOffice输出模型ORIGINAL之前,应创建INIT文件。
7ECLIPSEOffice:
Module|DataManager
8DataManagerModule:
Section|Grid
9GridSection:
Subsection|GRIDKeywords
10GRIDKeywordSection:
View|Description
11在KeywordType列表中选择OperationalKeywords。
12GRIDKeywordSection:
Edit|InserKeyword
13在KeywordSelection面板中选择OutputINIT文件。
14在GRIDKeywordSection面板上,单击Apply。
15GridKeywordSection:
File|Close
16GridSection:
17单击Yes,保存GridSection的当前内容。
18DataMangagerModule:
19Office:
File|RunManager.
该运行仅产生INIT文件(对模型没有起任何改变)。
模拟可被关闭以保存时间。
20单击TurnOffSimulation。
21RunManagerModule:
File|WritData
运行结束后,文件必须写入(不带NOSIM关键字),为SimOpt读入它做准备。
22单击TurnOffSimulation以便不再检测到它。
23RunManagerModule:
File|WriteData
24单击OK,覆盖old.DATA文件。
讨论SimOpt需要一工作模型和INIT文件来建立工程。
ECLIPSEOffice提供了一套检查数据和编辑关键字的功能来为SimOpt历史拟合工程创建文件。
在SimOpt中建立历史拟合工程
25启动SimOpt,并调入工程SNARK。
26SimOpt:
Project|Import|SimulationModel
27输入文件ORIGINAL_E100.DATA
28SimOpt:
Project|Import|Initfile
29输入文件ORIGINAL_E100.INIT
30SimOpt:
Project|Import|ObservedData|GrafUserDataFormat
31输入文件GRAF.WWCT。
到现在为止,SimOpt工程的基本数据已经输入,应保存工程。
32SimOpt:
Project|Save
输入的井含水率数据(WWCT)没有评价其测量误差。
因此,对于SimOpt有必要计算实测数据和模拟结果间的RMS(均方误差),且必须手工加入。
33SimOpt:
Data|ControlList
34单击BlockAction(SelectedSet)上的SetError。
35在Error文本框中输入误差值0.01。
36单击ApplyBlockAction。
37单击Close。
敏感性模型
现在准备用模型结果数据和实测数据来进行敏感性分析。
在该方案中,模型中的三个断层和Z方向的传导率将用到敏感性模型中。
38SimOpt:
Parameter|Add
39选择ParmType列表中的ZTrans,并打击Apply。
40选择Domain按钮上的Fault。
41选择ParmType列表中的FaultTr。
42在DomainNames列表中单击FAULTS1,然后按住Shift,单击FAULTS3,选中所有的三个断层。
43单击Apply。
44单击Close。
45单击Version1框(ParameterVersions数据树上)左侧的“+”符号(在主屏幕的中央区域)。
定义传导率乘法器
断层传导率乘法器沿每个断层的整个长度是有效的。
然而,Z方向的传导率乘法器对大多数网格均有效,因此应该定义它的有效区域。
46SimOpt:
Parameter|RegionEditor
47RegionEditor:
Region|Define
48在表的第1行,输入如下的数据,然后单击OK:
I1(nI:
14)
I2(nI:
J1(nJ:
J2(nJ:
K1(nK:
K2(nK:
1
14
5
49单击OK。
50RegionEditor:
File|Exit。
定义开始值
现在,应定义我们所关注的参数,设置它们的初始值和值的范围。
51SimOpt:
Parameter|ControlList
断层的传导率乘法器的变化范围是0(封闭断层)到1(无断层存在)。
如果乘法器没有赋初值,可采用以下经验准则:
设置近封闭断层(敏感性较大)的情况,将对储层流动产生较大的影响(比起无断层存在时)。
因此,其初始值通常取0.1,并允许该值在0到1间变化。
估计垂向传导率的误差系数为100或更大。
因此,Z方向的传导率值可以在初始值的基础上增加或降低100倍,即从0.1到100。
52在ParameterControl面板的表中输入如下数据:
Type
Domain
Modifier
ModifierMin
ModifierMax
ZTrans
Region1
0.01
100
FaultTr
FAULTS1
1E-5
FAULTS2
FAULTS3
53单击ParameterControl面板上的Apply。
54单击Close。
在SimOpt中的工程包含一模型、INIT文件、实测井生产数据和完善历史拟合所需的参数。
现在可以完成工程,并能够计算敏感性。
选择ECLIPSE100中的Gradients项,能够在单一的模拟运行中进行敏感性分析。
接下来是检查敏感性分析,为回归提供基础以完善历史拟合。
三、分析当前历史拟合并设计回归问题
1SimOpt:
Simulate
2在RunMode按钮上选择Gradients并单击Start。
右击ObservedData菜单中的井PROD1节点并选择Plot,可以观察模拟过程中的进程。
这将做实测数据的曲线,以与模拟结果相重叠。
3当模拟结束后,主窗体底部的提示信息窗口将给出提示信息。
所有实测数据和模拟结果数据间的均方根吻合度大约为24。
FAULTS2和FAULTS3的乘法器被当作多余信息。
这意味它们对于数据拟合的影响是重要,因此可以将它们关掉。
4SimOpt:
5在表的Activity列的下拉菜单中设置FAULTS2和FAULTS3为Inactive。
6单击Apply。
7单击Close。
观察其余的参数
在分析中,没有涉及到其余的参数,而这些参数是可以观察的。
8SimOpt:
Match|MatchAnalysis
9单击Update。
RMS文件夹显示:
井PROD2的RMS和敏感性为0。
因此,该井的拟合不受到参数选择变化的影响,所以可从系统中提取实测数据。
10SimOpt:
Data|ControlList。
11在表中,设置PROD2的WWCT数据状态为Inactove,并单击Apply。
这样并不会从工程中删除数据。
仅可从RMS计算中移走数据。
通过设置数据状态为Active,可将数据添加回RMS计算中。
12单击Close。
启动历史拟合分析的按钮
13单击Update。
这将重新进行分析计算(不包括井PROD2的数据)。
14单击Correlation文件夹。
关系矩阵的非对角线元素大约是0.33,因此两个剩余参数间的联系不足够紧密。
如果参数间联系过紧,则会出现数学上的ill-posed问题(即回归无法改善拟合)。
在问题是well-posed的情况下,是可以使用非线性回归的方法来迭代更新模拟值,以达到改善历史拟合的目的。
应记住重要的一点是:
分析问题是线性的,但在乘法器中改变模型后就变为了非线性问题。
因此,超过3或4次迭代回归的方法是不可取的(因为每一次迭代会使模型进一步远离有效值)。
15SimOpt:
Match|Simulate
16在RunMode单选框上选择Regress。
17设置MaxRunsSimulator为4。
18单击Start。
如果想观察RMSfit进程,可单击PlotRms按钮(每次模拟后,这将更新工程)。
同时,井数据的时间监视将有效。
最终的RMSfit是10.3,对原始数据集的较大改动将输入到SimOpt中。
19从实测数据树上选择PROD1WWCT项,观察实测数据和模拟结果数据间的拟合。
20选择Data|Plot,观察改善了的历史拟合。
灵敏性分析过后,是利用SimOpt中的工具来进行递变率分析。
该分析提供了井条件回归问题的功能。
SimOpt可用于运行ECLIPSE100模拟器,多次更新所选择的参数,以完善历史拟合。
四、输出SimOpt模型,以便输入到ECLIPSEOffice中
根据历史拟合所形成的模型可从SimOpt中输出,并用于ECLIPSEOffice中的预测。
Project|Export|SimulationModel。
2在ProjectExportComments面板上单击OK按钮。
3以MATCHED.DATA名保存数据集。
4SimOpt:
Project|Exit。
5单击Yes,保存工程。
拟合模拟(即乘法器的应用)可从SimOpt输出。
这将在原来的模拟中添加乘法器关键字,以便能在以后的应用中,恢复到原始模拟。
五、在ECLIPSEOffice中的预测
Case|AddCase|New。
2在CaseNames数据树上,选择新方案。
Case|Show。
PREDICTION.
5Office:
Case|Import
6输入MATCHED.DATA。
添加预测时间段
现在,历史拟合的模型是在ECLIPSEOffice中应用,接下来是延长模拟时间段(即添加预测时间段)。
8DataManager:
Section|Schedule
9在Time-Dates列表中,选择数据集中最后的日期(1January2030)。
10ScheduleSection:
Time|Insert
11在NewTimeEntryChoice单选框上选择TimeStep。
12输入365days作为时间步。
13在NewTime面板上的Num输入框中输入5。
14单击OK。
这将添加五个模拟时间步长(每个均为一年)到当前的数据集中。
定义流量控制
以下是在预测时间段内定义产量控制。
15ECLIPSEOffice:
Event|New
16在EventTypes列表中选择WellControls和Limits。
17在Event列表中选择ProductionWellControl。
18单击OK。
19在ScheduleSection中为新关键字WCONPROD输入如下信息:
Well
PROD1
Open/Shutflag
Open
Control
ORAT
OilRate
1000stb/day
20单击MultipleRuns按钮。
21在OilRate列中,在ProductionWellControl表的第二行中输入值:
3000stb/day。
22在ProductionWellControl面板上单击OK。
23在ScheduleSection面板上单击Apply。
24ScheduleSection:
25单击Yes,保存文件。
26单击New,创建新文件。
27单击OK。
28Schedule:
File|Close。
运行预测方案
定义了预测方案后,就可以运行了。
29DataManager:
30ECLIPSEOffice:
Module|RunManager
31RunManager:
Submit|Runs
32RunManager:
观察结果
33ECLIPSEOffice:
Module|ResultsViewer
34ResultsViewer:
File|OpenCurrentCase|Summary
35选择两个方案(点击一个方案,并单击>
>
按钮)。
36单击OK。
37在Extract/LoadSummaryVector面板上,选择ReadAllSummary和ReadAllReports。
38单击Load。
39ResultsViewer:
40SummaryVectors:
Totals|Well|ProductionTotal
41在Names列表中选择All.
42在WGNames列表中选择PROD1。
43单击OK。
图形显示在两个预测时间段内的油水总产量。
从中可看出第二个方案增加了总产量。
讨论在最后部分,运行了预测方案,这为生产决策提供了一个参考。