Home
Latest version 0.6.0, released August 29, 2013
Known to work with:
- OpenFOAM 1.6-ext
- OpenFOAM 1.7.x
- OpenFOAM 2.0.x
- OpenFOAM 2.1.x
- OpenFOAM 2.2.x
equationReader is an extension to OpenFOAM® that allows you to work with user-entered equations. For example:
U.x "sin(pi_ * t / 4)"; 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;
Installing equationReader will not give any existing solvers the capability to read equations from dictionaries. It will only work on custom solvers that specifically include the equationReader in their inner-workings.
In the future, I plan to create a branch of OpenFOAM® that integrates equationReader directly into its core libraries, thus giving every existing solver equation-reading capabilities.
- 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).
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 swak4Foam would probably be more suitable.
- Wait... before I install it, how fast is it, really? - It's getting faster. Check out the efficiency sub-page.
- I'm sold, let me install it! - Check out the installation sub-page.
- I'm a user, how do I work with my equations? - Check out the user's guide sub-page.
- I'm a developer, how do I use equationReader? - Check out the programmer's guide sub-page.
- I've had enough, how do I uninstall it? - Check out the uninstallation sub-page.
- 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 `IOEquationReader` - EquationReader is now an `IOobject`. This enables automatic output
- Added support for `scalarList` data sources - including `scalarField`, `volScalarField`, 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.
-
2011-09-25: Version 0.5.0
- Improved treatment of fields - now approximately 10x faster.
- Introduced version numbers to keep track of changes.
-
2012-10-25: Version 0.5.1
- Moved to git
- Bug fixes:
- Circular reference detection now working
-
2013-08-29: Version 0.6.0
- Uploaded to github and OpenFOAM-extend
- Restructured applications and tutorials directories for consistency
- Made opening splash optional