CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   Process control functionObject (http://www.cfd-online.com/Forums/openfoam/83662-process-control-functionobject.html)

Vetter January 6, 2011 12:34

Process control functionObject
 
First of all, I'd like to stress that this is my very first post in this forum, despite the fact that I've consulted it several times to search for information regarding OpenFOAM.

Also, I'm quite new to OpenFOAM (i.e, a n00b) and perhaps some of my doubts and mistakes are quite elementary.

So, to my problem: my project consists of creating a piece of generic code to be used with any solver to simulate process control. By that I mean control of a measured variable (such as temperature, pressure or the magnitude of velocity in one point, or something more complex such as flux on a surface) by changing a variable on a boundary condition (such as, in a simple case, the velocity on a uniform patch field).

My first attempts of creating this generic piece of code is through a functionObject, based on the already existing "probes". However, "probes" acquires the fields from objectRegistry through a function that passes the fields as constant (the lookupObject function). And I've found no means to change these (now constant) fields.

So I ask: is a functionObject the way to go about it or not? It seems to me that if the only way for a functionObject to access fields is through objectRegistry, then it will be impossible to change these fields.

I would greatly appreciate any help and suggestions.

andrea January 14, 2011 05:27

Hi Thiago,
I was thinking to do something on process control in OF for a while. Maybe is not elegant
but to give it a start you could think simply of a boundary condition that reads the data you need and adjust itself. Should be not so difficult.

Hope it helps

Andrea
http://www.iefluids.com/home.html
http://poseidon.ogs.trieste.it/phd/fluid/

Vetter January 14, 2011 08:08

Hi Andrea,

thank you for replying.

After not being able to figure out a way to implement process control through a functionObject (mostly because of what I described in the first post) I started implementing a boundary condition. I didn't finish writing it yet, but it seems as the most feasible way, and will be somewhat generic (regarding the controlled and manipulated fields/variables).

wyldckat January 14, 2011 09:41

Greetings to all!

@Thiago: I've gotta a feeling that you're re-inventing the wheel... check if swak4foam doesn't have the whole artillery you're looking for. Quoting the wiki page for it:
Quote:

Originally Posted by http://openfoamwiki.net/index.php/Contrib/swak4Foam
A library that combines the functionality of groovyBC and funkySetFields.

It also depends on the simpleFunctionObjects-library. These are tools for generic/programmable boundary conditions (groovyBC), setting fields in a programmable way in the simulation volume (funkySetFields) and for monitoring and processing fields (both simpleFunctionObjects and swak4foam).

Best regards and good luck!
Bruno

Vetter January 14, 2011 11:38

Quote:

Originally Posted by wyldckat (Post 290429)
Greetings to all!

@Thiago: I've gotta a feeling that you're re-inventing the wheel... check if swak4foam doesn't have the whole artillery you're looking for. Quoting the wiki page for it:
It also depends on the simpleFunctionObjects-library. These are tools for generic/programmable boundary conditions (groovyBC), setting fields in a programmable way in the simulation volume (funkySetFields) and for monitoring and processing fields (both simpleFunctionObjects and swak4foam).

Best regards and good luck!
Bruno

Hello Bruno,

I've seen swak4Foam and I do believe it would be able to perform the job for wich I'm programming this boundary condition. However, making a boundary condition for this specific end will possibly result in a better performance for simulation and in a C++ code that can be used for further development in this process control field.

Gschaider's words about swak4Foam not being the best tool for any job but a tool that will do practically any job comes to mind.

I do appreciate the input and if I should fail this programming task (as I'm not an experienced C++ programmer) I will use swak4Foam for the immediate parts of the project.

Best regards,
Thiago


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