|
|
(10 intermediate revisions by one other user not shown) |
Line 1: |
Line 1: |
− | Known to work with:<BR>
| + | This project has migrated over to '''github'''. |
− | {{VersionInfo}}{{Version1.6-ext}}{{Version1.7.0}}{{Version1.7.1}}{{Version1.7.x}}
| + | |
− | <BR>
| + | |
− | <strike>May also work with the latest version. Be the first to find out, and let me know.</strike> Doesn't yet work with OpenFOAM 2.0.0. (thanks for the info, Bernhard!) A patch will come out soon...
| + | |
− | <br>
| + | |
− | <small>Subpage contents (alphabetical)<BR>
| + | |
− | > [[Contrib_equationReader/functions|Functions]]<BR>
| + | |
− | > [[Contrib_equationReader/Installation|Installation]]<BR>
| + | |
− | > [[Contrib_equationReader/Programming|Programming]]<BR>
| + | |
− | > [[Contrib_equationReader/Uninstallation|Uninstallation]]<BR>
| + | |
− | > [[Contrib_equationReader/Using_equationReader|Using equationReader]]<BR></small>
| + | |
− | <BR>
| + | |
| | | |
− | == What is it? ==
| + | '''''[http://github.com/Marupio/equationReader/wiki Click here for the new website.]''''' |
− | '''equationReader''' is an extension to [[OpenFOAM]] that allows you to work with user-entered equations. For example: | + | |
| | | |
− | U.x "sin(pi_ * t / 4)";
| + | http://github.com/Marupio/equationReader/wiki |
− | U.y "rho * nut / L";
| + | |
− | U.z 0;
| + | |
− | nu nu [0 2 -1 0 0 0 0] "1.2 + 3 * alpha^sin(pi_/6)";
| + | |
− | aScalar "nu / max(5, alpha)";
| + | |
− | alpha 1.3;
| + | |
− |
| + | |
− | == Features ==
| + | |
− | * '''Works with most fields''' - Now works with ''single elements'', ''fields'', ''DimensionedFields'' and ''GeometricFields'';
| + | |
− | * '''Works with most Types''' - Now works with ''scalars'', ''vectors'', and all kinds of ''tensors'';
| + | |
− | * '''Flexible data sources''' - In addition to these types, equations can also lookup values from ''dictionaries'', and you can create an ''activeVariable'' that derives its value on-the-fly.
| + | |
− | * '''Order of operations''' - it is fully compliant with the conventional order of operations to an arbitrary parenthesis depth;
| + | |
− | * '''Equation dependency tracking''' - equations can depend on one another to an arbitrary hierarchy depth;
| + | |
− | * '''Circular-reference detection''' - it will halt computations when a circular reference is detected;
| + | |
− | * '''On-the-fly equation mapping''' - it will automatically perform substitution on other equations when they are needed, even if they aren't specifically called for in the solver; and
| + | |
− | * '''Dimension-checking''' - fully utilizes [[OpenFOAM]]'s built-in dimension-checking, or you can force the outcome to a specific dimension-set to quickly disable it (if you are lazy).
| + | |
− | | + | |
− | '''Limitations:''' Although '''equationReader''' works with all Types, at its core, it is just a ''scalar'' calculator with ''dimensions''. Therefore, you can't use vector operators, let alone tensor operators. Each equation must be expressed in scalar components.
| + | |
− | | + | |
− | == Why would you need this? ==
| + | |
− | Let the user define their own equations - this makes your application '''more user-friendly''', and '''more flexible'''. But don't reinvent the wheel - if you are only working with ''boundary conditions'' or ''initial conditions'', Bernhard's [[Contrib/swak4Foam|swak4Foam]] would probably be more suitable.
| + | |
− | | + | |
− | == Learn more ==
| + | |
− | | + | |
− | * ''I'm sold, let me install it!'' - Check out the [[Contrib_equationReader/Installation|installation sub-page]].
| + | |
− | * ''I'm a user, how do I format my equations?'' - Check out the [[Contrib_equationReader/Using_equationReader|user's guide sub-page]].
| + | |
− | * ''I'm a developer, how do I use '''equationReader'''?'' - Check out the [[Contrib_equationReader/Programming|programmer's guide sub-page]].
| + | |
− | * ''I've had enough, how do I uninstall it?'' - Check out the [[Contrib_equationReader/Uninstallation|Uninstallation sub-page]].
| + | |
− | | + | |
− | == Update info ==
| + | |
− | * ''2010-07-21'': Initial release
| + | |
− | * ''2010-08-05'': Bug-fix - differentiated versions for OpenFOAM-1.5.x/1.5-dev and OpenFOAM-1.6.x+
| + | |
− | * ''2010-08-12'': Major upgrade
| + | |
− | ** Introducing <tt>IOEquationReader</tt> - EquationReader is now an <tt>IOobject<tt>. This enables automatic output
| + | |
− | ** Added support for <tt>scalarList</tt> data sources - including <tt>scalarField<tt>, <tt>volScalarField</tt>, etc.
| + | |
− | ** Removed the need for pointers for data sources
| + | |
− | ** Cleaned up available functions
| + | |
− | * ''2010-10-16'': Bug fixes and added full support for fields
| + | |
− | * ''2011-04-06'': Major upgrade
| + | |
− | ** Efficiency improvement - pointer functions have been implemented to increase computation speed by an order of magnitude (at least).
| + | |
− | ** Improved dimension-checking on all functions.
| + | |
− | ** Added a fieldEvaluate function for active equations whose output is to a scalar field.
| + | |
− | ** Bug fix to get it working with 1.6-ext and higher.
| + | |
− | *''2011-09-13:'' Major upgrade
| + | |
− | ** ''''Now a stand-alone library''''.
| + | |
− | ** Now works with ''''vectors and tensors'''':
| + | |
− | *** scalar;
| + | |
− | *** vector;
| + | |
− | *** tensor;
| + | |
− | *** diagTensor;
| + | |
− | *** symmTensor; and
| + | |
− | *** sphericalTensor.
| + | |
− | ** ''''Now works with GeometricFields'''
| + | |
− | ** Dimension checking is now performed separately, improving efficiency of field and GeometricField calculations.
| + | |
− | * Interface changes:
| + | |
− | ** Add data functions reorganized / changed.
| + | |
− | ** Evaluate functions reorganized / changed.
| + | |
− | ** Update functions removed.
| + | |
− | | + | |
− | --[[User:Marupio|Marupio]] 22:15, 14 September 2011 (CEST)
| + | |