CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   FLUENT (https://www.cfd-online.com/Forums/fluent/)
-   -   Mechanical Engr. (https://www.cfd-online.com/Forums/fluent/110875-mechanical-engr.html)

fhd79 December 23, 2012 13:16

Mechanical Engr.
 
Hi there,
I have a problem in running fluent as a batch mode using Matlab, I am using the following command !C:\Fluent.Inc\ntbin\ntx86\fluent 2ddp -hidden -i "./FNACA4412.jou"
But I always end up with an error massage of:
Error: read-data: invalid plot file format
Error Object: *eof*
Warning: An error or interrupt occurred while reading the journal file.
Some commands may not have been completed.

However, if I open fluent and used; file/read-journal ... and selected the journal file it will work perfectly..!!!

Please help and advice.

Thanx
FH.

Sorin May 9, 2013 17:13

Hi F.H.

Did you try using Fluent in server mode?

Instead of starting Fluent from inside Matlab you can start it from outside Matlab (could be on a different machine) and then connect from Matlab. You can run the TUI commands from the connected Matlab one at a time.

See below an example (I presume you are using Fluent R14.5...)

1. Have the Fluent COM connector registered to Windows
cd C:\Fluent.Inc\fluent14.5.0\addons\corba\ntx86\
regsvr32 ComCoFluentUnit.dll

1. start Fluent in server mode with the following command:
C:\Fluent.Inc\ntbin\ntx86\fluent 2ddp -aas
Fluent will generate a server key (aaS_FluentId.txt) in the folder where you launched Fluent

2. start Matlab and execute the following commands to connect to Fluent's TUI interpreter using aaS_FluentId.txt

fluent = actxserver(‘ANSYS.CoFluentUnit.1′);
tui=fluent.getSchemeControllerInstance();
fid=fopen(‘aaS_FluentId.txt’,'r’)
fluentkey=fscanf(fid,’%s’)
fclose(fid)
fluent.ConnectToServer (fluentkey)


3. run the commands in the batch file from Matlab, mixed with your Matlab commands. See below some examples
tuiCommand="report summary"
tuiOutput=tui.DoMenuCommandToString(tuiCommand);
rpVarName='pressure/relax'
rpVarValue=tui.GetRpVar(rpVarName)
...


4. When you are done you can shutdown Fluent from Matlab:
fluent.Terminate()

You can find all commands in the ANSYS Fluent aaS documentation. For a small example you can refer to my blog post at http://www.ansys-blog.com/tag/matlab/

Please let me know if you need more info.

Sorin

iman h April 23, 2015 18:06

Need Help
 
Hi, thank you for your tips,

I have a problem in the first line.

fluent = actxserver(‘ANSYS.CoFluentUnit.1′);

I have an error :

Error using actxserver (line 91)
Server creation failed. Invalid ProgID 'ANSYS.CoFluentUnit.1'.

s sur March 24, 2016 10:47

Quote:

Originally Posted by iman h (Post 543470)
Hi, thank you for your tips,

I have a problem in the first line.

fluent = actxserver(‘ANSYS.CoFluentUnit.1′);

I have an error :

Error using actxserver (line 91)
Server creation failed. Invalid ProgID 'ANSYS.CoFluentUnit.1'.

I was able to make it work by omitting the ".1" after "ANSYS.CoFluentUnit", ie,

fluent = actxserver('ANSYS.CoFluentUnit')

worked for me. I was able to run FLUENT and pass TUI commands from MATLAB this way.

ashishgupta March 1, 2023 18:42

Quote:

Originally Posted by Sorin (Post 426420)
Hi F.H.

Did you try using Fluent in server mode?

Instead of starting Fluent from inside Matlab you can start it from outside Matlab (could be on a different machine) and then connect from Matlab. You can run the TUI commands from the connected Matlab one at a time.

See below an example (I presume you are using Fluent R14.5...)

1. Have the Fluent COM connector registered to Windows
cd C:\Fluent.Inc\fluent14.5.0\addons\corba\ntx86\
regsvr32 ComCoFluentUnit.dll

1. start Fluent in server mode with the following command:
C:\Fluent.Inc\ntbin\ntx86\fluent 2ddp -aas
Fluent will generate a server key (aaS_FluentId.txt) in the folder where you launched Fluent

2. start Matlab and execute the following commands to connect to Fluent's TUI interpreter using aaS_FluentId.txt

fluent = actxserver(‘ANSYS.CoFluentUnit.1′);
tui=fluent.getSchemeControllerInstance();
fid=fopen(‘aaS_FluentId.txt’,'r’)
fluentkey=fscanf(fid,’%s’)
fclose(fid)
fluent.ConnectToServer (fluentkey)


3. run the commands in the batch file from Matlab, mixed with your Matlab commands. See below some examples
tuiCommand="report summary"
tuiOutput=tui.DoMenuCommandToString(tuiCommand);
rpVarName='pressure/relax'
rpVarValue=tui.GetRpVar(rpVarName)
...


4. When you are done you can shutdown Fluent from Matlab:
fluent.Terminate()

You can find all commands in the ANSYS Fluent aaS documentation. For a small example you can refer to my blog post at http://www.ansys-blog.com/tag/matlab/

Please let me know if you need more info.

Sorin

Hi Sir,
I am facing similar issue with Ansys MAxwell.
>> actxserver('Ansoft.ElectronicsDesktop');
Error using actxserver (line 93)
Server creation failed. Invalid ProgID 'Ansoft.ElectronicsDesktop'.

>> iMaxwell = actxserver ('AnsoftMaxwell.MaxwellScriptInterface');
Error using actxserver (line 93)
Server creation failed. Invalid ProgID 'AnsoftMaxwell.MaxwellScriptInterface'.

Could you please help me out?
Thanks!!!


All times are GMT -4. The time now is 09:18.