gPROMS v3.1: Modelling features
Next-generation modelling features add power and save effort
gPROMS v3.1 is packed with significant new modelling functionality.
v3.1 includes three major developments: enumerated domains, non-uniform distribution grids and initailisation, as well as general enhancements to the language.
The new capabilities makes models simultaneously more powerful and more general, improving the scope for successful application of models and at the same time simplifying housekeeping in large organisations.
This page outlines some of the key features. For more information see the release notes or request an on-site update for your company.
Features at-a-glance
- Enumerated domains in the form of ordered sets make writing of model significantly easier in certain cases by allowing the use of text labels (for example, component names such as "methane" or "CH4") as array indices.
- Non-uniform discretisation grids can make the solution of distributed models significantly more efficient while enhancing accuracy.
- Zero-length arrays model developers can now create comprehensive for any model, for the quick display of key results.
- Automatic initialisation features that allow the model developer to define how the model is initialised, speeding up the initial solution and reducing development time.
New modelling concepts
Click on the images below to enlarge
Example of ordered sets: definition and use
Transform function used in defining non-uniform grid
The results of using an exponential transformation to generate a non-uniform grid: identical results with 10 times fewer discretisation points
Zero-length array example. Here NoReact can be set to zero.
gPROMS v3.1 contains a number of new modelling concepts that signigifcantly increase the power of the gPROMS modelling language.
Enumerated Domains
Enumerated domains are a new modelling concept which is introduced to allow referring to array elements in a more natural way. Up to version v3.0, an array of mixture concentrations could be referred to by using integer indices – e.g. concentration(5). With the introduction of enumerated domains it is possible to use text labels, e.g. concentration('water').
String labels can be specified as Ordered Sets and used in equations, as can be seen in the example on the right.
For example, tailored mass balance equations can be formulated for different groups of components, such as volatile, crystallising and liquid only components.
Rate terms in these balances can be defined specifically for each group; there is no need to define evaporation rates for all components – only for those that are volatile.
This results in not only in a more comprehensive structure of the model (and one which is easier to read), but also in a reduction of the number of variables, thus reducing the size of the problem.
Many typical set operations – for example, joining sets or extracting subsets – may be performed on Ordered sets.
Non-uniform discretisation grids
Another major modelling development is the ability to use discretisation grids with non-uniform spacing in distributed models.
This can reduce model size and solution time dramatically while simultaneously increasing accuracy, simply by selecting one of the built-in options. In the past a similar effect could be achieved only by manually transforming equations, a time-consuming and potentially error-prone process.
The options currently available initially allow the use to specify a individual node positions or a non-linear (logarithmic or exponential) domain transformation.
Non-uniform grids are handled transparently by gPROMS result management and require no user-interaction for correctly displaying the dimensions and positions.
For example, using an exponential grid for a 1-D axial distribution of an exothermic reaction in a fixed-bed catalytic reactor where most of the reaction occurs in the first part of the tube can reduce problem size by a factor of 10.
Zero-length arrays
With the introduction of zero-length arrays it is possible to write models with a greater generality, simplifying the creation, use and maintenance of corporate-wide libraries.
The example on the right will now work when there are no reactions – i.e. when NoReact is set to zero.
Although variables and equations are declared for the number of reactions, the model is valid if the number of reactions, NoReact, is set to zero: gPROMS does not instantiate any affected expression or variable.
For the example above this means that the variable rate will not appear in any variable listing or result display and none of the second vector equation will be created.
This concept extends to the graphical flowsheeting where it is consequently now possible for dynamic ports not to have any connections at all.
Automatic initialisation
Obtaining an initial solution to a problem has long been one of the key challenges for equation-oriented modelling.
gPROMS v3.1 includes the first elements of a complete new initialisation capability that can be used by model-builders to provide automatic initialisation of models.
This provides innovative facilities to capture and embody users' experience with model initialisation into the model itself, meaning that it is possible to write models that initialise every time, no matter how far the starting point is from the solution (provided of course that there is a feasible solution given the model specification).
The initialisation approach uses a variety of techniques developed by PSE through fundamental research and development.
We will be happy to demonstrate and explain initialisation and its application in an on-site class or via Webex.
Request a WebEx or on-site update
What users have said
"Being able to watch results as the simulation progresses is a real productivity enhancer"
"My reactor model converges without any initial guesses"
"Ordered sets make my life so easy"



