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.
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
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).
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:
Best regards and good luck!
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.
|All times are GMT -4. The time now is 18:45.|