How to couple an external simulator (.exe) into Matlab Optimization module?

I am trying to use MATLAB to run ECLIPSE reservoir simulator to find the optimum locations of oil wells in a field.
We have the ECLIPSE executable that we can call, there is an ECLIPSE input text file called input.DATA which includes well location in x and y directions. optimizer should change the x and y locations of the wells each time and then simulations need to be automatically submitted by MATLAB for the specified number of times and gives the field production values each time. we want to maximize the output: Cumulative Oil Production which exists in the output file.
then we will find the best configuration of wells in the field that maximizes the cumulative oil production.
I appreciate your help.
thanks.

7 Comments

hello ,I also do a similar study with you, could you tell me the problem you solved?Can you give me some help!thank you very much!
I recently did similar thing. (not with ECLIPSE but another model).
Can ECLIPSE be executed from command prompt without user intervention? I mean Does it require user and GUI interaction or not?
I'm also looking for coupling MATLAB with the petroleum expert IPM software (MBAL) to optimize allocation factors of producing and injecting wells in material balance calculations. is there a Tool-kit for that ? thank you for your help.
A have the same problem: I want to use matlab to input positions to my eclipse data file. Then I call eclipse to run this file. Then I use matlab to read the eclipse output file and locate the position of optimized production.
You can use system('$eclipse filename')
eg The file name is mywork.data system('$eclipse mywork')
I have done my thesis by coupling matlab and eclipse reservoir simulator.
In that I have changed the well locations, generate time for water flooding, surfactant flooding, polymer flooding and post water flooding.
If anybody need any help regarding coupling eclipse with matlab you may contact me at
Hi Hassan,
I would appreciate your help regarding this.

Sign in to comment.

Answers (1)

You can execute the following command using system() function in MATLAB . For example system(eclrun.exe -q.QUEUE eclipse "FileName.DATA")

Categories

Asked:

on 29 Nov 2012

Commented:

on 28 Jul 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!