swak4Foam - New release
A new release of swak4Foam can now be downloaded through the usual channels (SVN).
New features are: - global variables - functionObjects that allow the inclusion of Python-Code - a variant of the coded-functionObject that cooperates with swak (only for OF 2.) - functionObjects that solve the laplacian and the transport equation Further details on these new features can be found in the 2nd part of the presentation that is found here: http://openfoamwiki.net/index.php/Fi...Leoben2011.pdf Bernhard |
Forgot to mention it here (notifications already reached other channels - had so much fun playing with the new Social-media button on the network): a new release of swak4Foam ist out
Major improvements are:
PS: I was notified that this is going to be my 2001st post on the message board. In the honor of this this will be the first swak4Foam-release with a release name: "Kubrick" |
Hi Bernhard,
concerning the conditional functionsObjects I a question. Is it also possible to created a condition that calls the functionsObjects at a specific position of the solver, for example in the outer pressure correction loop of the pimple based solvers? Martin |
Quote:
I THINK something like you want to could be achieved by specifying a second functionObjectList and calling it in the appropriate places. But you'd have to modify the solver code for that and it could lead to all kinds of weird behaviour for some function objects as they sometimes can't deal with being called twice for the same time-value |
Hi Bernhard,
thanks for the reply. Could you please give me a hint what needs to be done in order to define a second functionObjectList. How is the "normal" functionObjectList defined in the code and how is this list executed from the solver? Martin |
Quote:
Bernhard |
Hi Bernhard,
thanks for your answer. I wil have a look át the conditional FunctionObjects and try to understand how it works. Martin |
Last friday (the 13th) a new release of swak4Foam hit the servers. One of the big innovations of this release is that I implemented a system that allows identifying consecutive releases by a system of ascending numbers. This system should make it easier to identify releases and find out whether the current release is the newest. I will call these numbers "version numbers" (not yet trademarked). I think this system is very useful in a lot of contexts. Feel free to use it for your own projects (reference to the place you saw it first would be nice). ;)
The new release will receive the number 0.2.0 (previous releases have been numbered with 0.1.x) Other new features are - temporal operators ddt and oldTime. Other operators from fvc are added - functions for location of minimum and maximum - Field-parser now supports tensors and pointFields - New variables for Python-integration - boundary conditions groovyBCDirection and groovyBCJump - fully parallel compilation (see README for a full list). Downloading is described at http://openfoamwiki.net/index.php/Co...am#Downloading |
bug report
Hej,
I wanted to use the bug report on the sourceforge website, but somehow it is not accepting my login (I used the openID login) and when I go to the bug report website you give in openfoamwiki contrib I get redirected and it does not fulfill my wishes, therefore I would like to report the bug here :-) anyway, the pow() function has a problem with the parser, the second variable can not be set with a alphanumerical variable but has to be a value. |
Quote:
I'll make a note and hope that I don't forget (BTW: Sourceforge seems to have fixed their server-problem so maybe you can log in now) PS: there is a part in me that says "don't do it. This is madness. Remember all the times people 'reported bugs' but in reality where using the pow-function wrong. And this will become 'easier' if the exponent is calculated too" but I guess the part that wants a 'complete' grammar is going to be stronger |
Thank you. Hope that the source forge works again, but I had problems before.
|
Hi
First , thanks for groocyBC, I would like to use groovyBCDirection Is there any example how to use them ? Thanks |
Quote:
The boundary condition is based on the directionMixed-BC (the same way groovyBC is based on the mixed-BC) so look for documentation on this |
New release of 0.2.1 of swak4Foam
Hi!
A new release of swak4Foam has hit the repositories (mercurial and SVN) For general information on this swak-thing see http://openfoamwiki.net/index.php/Contrib/swak4Foam The most notable changes in this version are:
A full list of the changes (and bugs fixed) in this version can be found in the History section of http://openfoamwiki.net/images/e/e6/...oam_README.pdf (for OpenFOAM 1.x) or http://openfoamwiki.net/images/8/81/...README_2.x.pdf (for OpenFOAM 2.x - contents are slightly different). The list is seven pages long in the PDF so there is more than the above highlights. Have fun and don't hurt yourself Bernhard |
New Release of 0.2.2 of swak4Foam
New version of swak4Foam (0.2.2) is available. As usually it contains bug-fixes (yeah. There were bugs. Unbelievable, but true) and several enhancements. For details see the README that comes with it.
For those who don't want to download it without knowing what is new here is an incomplete list of new features: - several enhancements to the python-integration. Amongst other things: variables that have fields are now availoable to the python-code as numpy.-arrays - expressions now can access fields from a different case. This makes it possible to easily use funkySetFields to compare cases - Patch-expressions now support mappedPatches - Plugin functions to access fields from the radiation mode or the combustion model (for instance the reaction rates) - Enhancements to the build-scripts - The start of a reference-manual (Only the first part. In org-mode. Not proofread) For information on downloading see: http://openfoamwiki.net/index.php/Contrib/swak4Foam Unfortunately the SVN is still not available (everybody say "Thank you, ANSYS") but there are tarballs to download at the above link |
Quote:
- As I found out afterwards the release doesn't compile on 1.6-ext. This is fixed in the development version (mercurial repository on sourceforge. See Wiki-page for details) - One week after the release OF 2.2 came out. The current release of swak4Foam does not compile with it. But I already fixed it and pushed the fixes to the development repository into a special branch (see https://twitter.com/swakPyFoam/statu...94954107031552). The fixes seem to work OK but I plan to test them and then merge them into the regular 2.x-branch. Updates on this work and info which branch is the "better" one for 2.2 will be posted on the above Twitter-channel |
Release 0.2.3
The last release 0.2.2 will go down in history as one of the shortest-lived swak-releases: as Version 2.2 of OF came out the week after that and as this release makes it necessary to do some changes on the swak-sources this release was rushed out to allow people to go on swaking on 2.2.
In addition the compilation on 2.0 and 1.6-ext were fixed (1.7 and 2.1 were working all the time) Apart from the support for various OF-versions there are not many additional features: - support for eigenValues and eigenVectors of tensors - accessing a full row of a tensor with .x, .y and .z - writing out sampled surfaces and sets that were specified by swak-functionObjects For details have al look at the README |
Bernhard,
Thanks a lot for all the work making swak available for the new release so soon. I was wondering on one particular new feature. In the readme file it is mentioned that it is now possible to access the internalField from different cases. Does this mean it is limited to the internalField, or is it also possible to access patches from a different case to use in a groovyBC? I am wondering if it is possible to use the fields at an outlet as an inlet condition for a different case using this framework? Regards, Tom |
Quote:
I developed this because I wanted to compare results from different cases (or different time in the same case). It basically is the functionality of the mapFields-utility. For different cases the mappedPatch-functionality won't help you either I'm afraid. If there is nothing in OF that supports this it is rather unlikely that such a feature will turn up in swak (will have a look at it when I or someone I work for needs it) |
Hi Bernhard,
Thank you for the clarification. That will save me some trial and error. Maybe I can find another solution. Regards, Tom |
Quote:
|
Thanks for the suggestion, did not yet consider that option, but it sounds promising. I'll keep you updated once I find a solution.
|
reaction rate
Quote:
Is there any function in the new version of swak4foam to evoke reaction rate (combustion->R(Yi) in YEqn.H) of species? I need to write reaction rate of some soecies in a file. Thank you in advance for any hint Hossein |
Quote:
Just add "libswakChemistryModelFunctionPlugin.so" to the libs-entry in controlDict. Now if you use any swak-thing (function-object or also funkySetFields) that uses the Field-parser for the first time you see an output like this: Code:
Creating expression field muEff ... All this uses the results from the last run-through of the chemistry-solver. In funkySetFields you've got to trigger this calculation with the psiChem_updateChemistry-function (only use it once): "psiChem_updateChemistry(0.001)+psiChem_RR(CO)+psi Chem_RR(CO2)" for Reaction rates of CO and CO2. Of course you can use it to check whether the time-step influences the reaction rates "(psiChem_updateChemistry(0.001)+psiChem_RR(CO ))-(psiChem_updateChemistry(0.002)+psiChem_RR(CO))" but that of course calculates everything twice |
reaction rate(2)
Quote:
if (Y[i].name() == "O2") { volScalarField wO2 = psiChem_RR(Y[i].name()); wO2.write(); } I inserted the #include "swakPsiChemistryModelPluginFunction.H" header in my .C file and the address of it in "option" which is in following: EXE_INC = \ . . . -I$(HOME)/Swak4Foam_2.x_release_0.2.3/Libraries/swak4FoamParsers/lnInclude/ \ -I$(HOME)/Swak4Foam_2.x_release_0.2.3/Libraries/swakSourceFields/lnInclude/ \ -I$(HOME)/Swak4Foam_2.x_release_0.2.3/Libraries/functionPlugins/swakChemistryModelFunctionPlugin/lnInclude EXE_LIBS = \ . . . -lsampling \ -lmeshTools \ -L$(FOAM_USER_LIBBIN) \ -lswak4FoamParsers \ -lswakChemistryModelFunctionPlugin \ -lswakSourceFields How can I solve above problem? Best Regards, Hossein |
Quote:
- create an instance of FieldValueExpressionParser. Feed it the expression you want to get and get the result from that. I don't explain this in detail because for the purpose of what you want to do this would be like using dynamite to go after the cockroaches in your drain: lot of fun, but the neighbours might think it is a little bit excessive. - have a look at the source of the plugin and try to lift the parts you need (If I remember it correctly: get from the registry the object-registry the object with the name "thermophysicalProperties". Cast it down to the combustion-thermo and then call the RR there). That might be the easiest (for your purposes) |
reaction rate(3)
Quote:
Thanks again |
Quote:
|
Release 0.2.4
A new version of swak4Foam has been released. It is the version found on the USB-stick of the 8th OpenFOAM workshop. New features include (but for all see the README which has a complete list):
- functionObjects now store their data in the sub-directory postProcessing according to the new convention OpenFOAM has (sorry: this may break existing scripts relying on the old location) - slight change in the format written may break the restart of cases where swak-specific restart data was written with older swak-version (should not hit many people) - Example cases are adapted to run with OF 2.2. This may prohibit them from running with 2.1 or 2.0 But now the good parts: - build scripts have been adapted to run on more machines, allow tuning of the compilation process, compile on non-gcc compilers and give more information for finding problems - A new library with additional searchableSurfaces (to be used in snappyHexMesh) that allow boolean operations and coordinate transformations of searchable surfaces - Function objects to calculate the distributions of variables (and expressions) - specification of aliases for field names that contain special characters (like thermo:rho) - functionObject to list all registered objects (basically for finding out what is there) - functionObjects to handle global variables - functionObject that executes a list of other functionObjects only if the run is parallel/serial - A new type of variable (stacked) that allows recording multiple values - More flexible output control for functionObjects based on simpleFunctionObjects - swakDataEntry is improved - other stuff and bug fixes (check the README) Also to make life easier for the non-Emacs people who have problems converting the (still incomplete ) reference guide to a more readable form it can be downloaded here: http://openfoamwiki.net/images/d/db/...mReference.pdf |
OpenFOAM 2.2.1 + Swak4Foam 0.24 ?
Hi Bernhard,
Will swak4Foam 0.2.4 install correctly on the new OpenFOAM 2.2.1 ? Also, when will swak4Foam 0.2.4 be posted to the openfoamwiki.net site? Thank you very much. |
Quote:
Quote:
|
New Release of 0.3.0 of swak4Foam
8 months ago the last release of swak4Foam happened. A week later Edward Snowden blew the whistle on the NSA. Coincidence? Unlikely! (who is back there saying "Correlation does not imply causality"? Obviously someone who doesn't appreciate a good conspiracy theory). Today the next version of swak4Foam is announced and the world is expecting the next Spy-Agency to be exposed. The only question is: will it be China, Russia or Austria.
Most of the features have already leaked to the public through the public development repository and the twitter-acount @swakPyFoam but for all those whose intelligence-branch failed to interpret these informations correctly here is an incomplete list of the new features
For further information see - the Wiki page http://openfoamwiki.net/index.php/Contrib/swak4Foam - the README that comes with the sources - the Documentation-folder of the sources has an incomplete reference guide. It documents all the expression-grammars Have fun and look out for the men in the trenchcoats |
New Release of 0.3.1 of swak4Foam
This release has been sitting on my hard-disk for several weeks but now I've gotten around to releasing it officially (it is technically identical to the version on the USB-sticks distributed at the Workshop and also the version that is pulled when you compile it as one of the ThirdParty-packages with foam-extend-3.1)
This Release supports the latest versions of OpenFOAM (2.3) and Foam-Extend (3.1). It has its fair share of bug-fixes and also some new features:
|
Dear Bernhard,
How can I store the reaction rate of species O2 in each time step using psiChem_RR? Which expressions should be added to controlDict file after adding "libswakChemistryModelFunctionPlugin.so" in the libs or do something else? I'm using swak4Foam_2.x_release_0.2.3 now. Thank you in advance, Hossein |
Quote:
|
Quote:
That is what I need. Sorry for another question. For example If I set the deltaT value in controlDict to 1e-07, Does psichem_RR function consider that value to calculate the reaction rate? Thanks |
Quote:
|
Dear foamers,
I am trying to install swak4Foam on OF2.3, and I already tried the OF2.2x version suggested by Bruno but still there are some errors. I am wondering if there is a package developed for OF2.3. I am looking forward to your answers, Thanks in advance and Best, Mahdi |
Quote:
|
1 Attachment(s)
Quote:
Thanks a lot for your quick response as always. I tried the 2.x-release downloaded from: svn checkout svn://svn.code.sf.net/p/openfoam-extend/svn/trunk/Breeder_2.0/libraries/swak4Foam/ swak4Foam_2.x I attached the make log file output from this compile. Then I also tried this one which was suggested by Bruno (https://github.com/wyldckat/swak4foam/tree/OF22X), but I am not sure if this principally should work for me or not; anyway it did not :) Thanks and Best, Mahdi |
All times are GMT -4. The time now is 17:19. |