CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   FLUENT (http://www.cfd-online.com/Forums/fluent/)
-   -   looking for a smart interface matlab fluent (http://www.cfd-online.com/Forums/fluent/46143-looking-smart-interface-matlab-fluent.html)

chary September 26, 2007 06:46

looking for a smart interface matlab fluent
 
Hey,

I just started to use fluent. To encounter a diffusion/permeation problem an udf has been written. Now I would like to know wether it is possible to use an interface with which data can be exported to be used in matlab. once these are optimised they should be able to be reimported in fluent for the next simulation. Is there any possiblity of a matlab fluent interchanging interface?


Sorin May 10, 2013 09:34

Hi chary,

I see that your question stayed unanswered for years...

Just in case you are still interested you can use Fluent aaS (as a Server). It is available on Fluent versions starting Release 14.

See my blog on http://www.ansys-blog.com/tag/matlab/ for more information and a sample of Matlab coding.


Sorin

M201170944 October 4, 2013 22:08

Quote:

Originally Posted by Sorin (Post 426528)
Hi chary,

I see that your question stayed unanswered for years...

Just in case you are still interested you can use Fluent aaS (as a Server). It is available on Fluent versions starting Release 14.

See my blog on http://www.ansys-blog.com/tag/matlab/ for more information and a sample of Matlab coding.


Sorin

Hi Sorin,
I am interested in the data exchange between fluent and matlab. I have got the pressure data from fluent and write a code to calculate it in matlab. Now my problem is how to import the data in matlab to fluent??
Thank you so much

Sorin October 9, 2013 12:28

Hi Wang

I will need more information to help but I will just make some assumptions, for simplicity of the blog post:

Assumption 1: Matlab is running on a Windows 64 bits machine
Assumption 2: Fluent is running on the same machine or on a network accessible remote machine
Assumption 3: Fluent version is R14.5
Assumption 4: You have a resonable understanding of Fluent UDFs, rpvars or parameters
Assumption 5: you have administrative rights on the Matlab machine
Assumption 6: Fluent client (no license required) is installed on the Matlab machine

Let me know if your specific case is different.

Step1: Modify your Fluent case such that all entities that you want in Matlab are mapped to Fluent rpvars or Fluent parameters
- rpvars are requiring a little bit more advanced Fluent skills, but they have the benefit that they can be used on both a UDF running on the Fluent machine and Matlab running on the Matlab machine
- parameters are easier to use and more stable. They are accesible in Fluent GUI and Matlab but not in the UDF (unless you map one to an rpvar)
Step2: start Fluent on Fluent machine in server mode. Do not start a journal (-i option) because you will do the journaling from Matlab. To start fluent in server mode you will have to add in the command line the -aas option.
For example instead of running "fluent 3ddp" you will execute "fluent 3ddp -aas".
Step3: collect the Fluent session key from the Fluent machine and transfer it to the Matlab machine. the Fluent session key is stored in a file called aaS_FluentId.txt
Step4: make sure that the Fluent client is registered on the Matlab machine
You will have to run a command like the following:
regsvr32 "C:/Program Files/ANSYS Inc/v145/fluent/fluent14.5.0/addons/corba/win64/COMCoFluentUnit.dll"

Step5:Start Matlab
Step6:Connect Matlab to Fluent. You will have to run a Matlab script like the following:
fluent = actxserver(‘ANSYS.CoFluentUnit.1′);
tui=fluent.getSchemeControllerInstance();
fid=fopen(‘aaS_FluentId.txt’,'r’)
fluentkey=fscanf(fid,’%s’)
fclose(fid)
fluent.ConnectToServer (fluentkey)

Step7: Execute you Matlab-Fluent program.

You have two Matlab objects (fluent and tui) that you can use drive Fluent.

If you want to do Fluent journaling from matlab, you can use
tui.DoMenuCommand(tuiCommand)
this will have Fluent execute the tuiCommand with no return
tui.DoMenuCommandToString(tuiCommand)
this will have Fluent execute the tuiCommand and return the output
tuiCommand is pretty much any valid command that you put in a Fluent journal file
Example:
tui.DoMenuCommand('solve iterate 10')
report=tui.DoMenuCommandToString('report summary no')

If you want to set or get the value of a rpvar, you can use
tui.GetRpVar(rpvarName)
this will have Fluent returning the value of the rpvar
tui.SetRpVar(rpvarName,stringifiedRpVarValue)
this will have Fluent set the value of a rpvar
Example
valuePressureRelax=tui.GetRpVar('pressure/relax')
tui.GetRpVar('pressure/relax','0.5')

If you want to set or get the value of a parameter, you can use
fluent.GetOutputParameterValueByname(parameterName )
this will have Fluent returning the value of the parameter
tui.SetInputParameterValueByName(parameterName,par ameterValue)
this will have Fluent set the value of a parameter
Example
valueAvgTemperature=fluent.GetOutputParameterValue ByName('avgtemperature')
fluent.SetInputParameterValueByName('massflowrate' ,0.5)

Of course you will need to have an output parameter called 'avgtemperature' and an input parameter called 'massflowrate' previously configured in the Fluent case.

Please let me know if this post was helpful to you. If you give me your e-mail, I will contact you.

I tried my best to have the code examples syntactically correct, but there might be some typos. You can refer to Fluent documentation or you can mention the issue to me and I will figure it out.

Thank you

Sorin

ras1981 November 12, 2013 09:56

How about Linux?
 
Hi Sorin!
does this work on a Linux-mashine as well?
Thank You

Sorin November 13, 2013 11:07

Yes,

Yes, this works on Linux as well. The Matlab code and the set-up are slightly different though and problem specific.

I will contact you in private since this might require specific information about your environment.

Then I will try to provide a generic example of Matlab to Fluent cosimulation on a Linux environment on this blog.

Thank you

Sorin

Quote:

Originally Posted by ras1981 (Post 461672)
Hi Sorin!
does this work on a Linux-mashine as well?
Thank You


Dominik January 28, 2014 10:44

Progress in using Fluent as a Server on Linux?
 
Hi Sorin
Did you make any progress using aas with Linux?

As obvious I couldn't find a dll in the Linux installation folder :-)).

So I think I have to compile the idl file myself, but I do not know which compiler should be used to drive Fluent-aas from Matlab.

In my System:

Matlab is running on a Linux 64 bit machine.
Fluent is running on a 64 bit network accessible remote machine.
Fluent Version is 15.0

Thanks for youre help in advance.

Dominik

iman h February 7, 2014 03:08

Help
 
Hi sorin.

I have done all instruction but when Matlab wants to run tui.DoMenuCommand I have an error.

Error using
Interface.COMCoFluentUnit_1.1_Type_Library.ICoFlue ntSchemeController/DoMenuCommand
Invoke Error, Dispatch Exception: Unspecified error



Error in second (line 9)
tui.DoMenuCommand('aaS.pause');



I don't know what should I do?

itsme_kit July 2, 2014 07:14

Hi Sorin

Do you have any idea in writing a subroutine in connecting TRNSYS and Fluent for data exchange

Thanks in advance


Quote:

Originally Posted by Sorin (Post 426528)
Hi chary,

I see that your question stayed unanswered for years...

Just in case you are still interested you can use Fluent aaS (as a Server). It is available on Fluent versions starting Release 14.

See my blog on http://www.ansys-blog.com/tag/matlab/ for more information and a sample of Matlab coding.


Sorin



All times are GMT -4. The time now is 06:15.