What PHOENICS does
PHOENICS, operated by its users, performs three main functions:
PHOENICS, like many but not all CFD codes, has a distinct software module for each function. This sub-division allows functions (1) and (3), say, to be performed on the user's home computer, while the power-hungry function (2) can be carried out remotely.
The Structure of PHOENICS
The diagram below is a schematic of the three main functions of PHOENICS, i.e.,
How the problem is defined
Problem definition normally involves making statements about:
SPECIAL FEATURES of problem definition which distinguish PHOENICS are:-
PHOENICS has indeed its own high-level Input Language, called PIL, in which the Q1 files are written.
PIL is a directly-interpreted language, requiring no compilation; and its capabilities include:
How PHOENICS makes the predictions
PHOENICS simulates the prescribed physical phenomena by:-
SPECIAL FEATURES relating to how PHOENICS makes the predictions are:
How the results are displayed
PHOENICS can display the results of its flow simulations in a wide variety of forms.
It has its own stand-alone graphics package called PHOTON; and it can also export results to such third-party packages as TECPLOT, AVS, and FEMVIEW.
PHOENICS can also take the results of its flow predictions back into the same VIRTUAL-REALITY environment as is used for setting up the problem at the start.
This facilitates understanding by the user; and it also affords a means of conveying the significance of the flow-simulation operation to interested but non-technical persons, eg. high-level managers.
Of course, numerical results are also provided, in the RESULT file. This, when the appropriate commands in the Q1 file, can provide either sparse or voluminous information.
The Virtual-Reality Interface
Data input via the VR-Editor
The Virtual-Reality user interface assists users to set up flow-simulation calculations, without having to learn the PHOENICS Input Language. In this data-input mode, it is called the VR-Editor.
The appearance of VR-Editor the screen is shown on the next panel. The image comes from one of the examples in TR/324 Starting with PHOENICS VR.
However, no attempt will be made to describe it in detail, because the information is best conveyed by way of a live demonstration or hands-on use of the code.
It suffices therefore to say here that objects of all kinds (blockages, inlets, outlets, sources, etc) can be brought in by appropriate mouse-clicks, and then given such locations, shapes, sizes, materials and other attributes as are needed to start the flow-simulating calculation.
This is the top part of the menu which appears when the Main Menu button is pressed. It enables whole-domain settings to be made.
What the Virtual-Reality Editor creates
The VR-Editor records the settings made by the user during his editing session in an ASCII file known as Q1.
This file can be read, understood (if the user knows something of PIL, the PHOENICS Input Language) and edited. Usually, however, it will simply be stored for later use.
In any case, the flow-simulation can begin immediately, if the user wishes, because two other files will also have been automatically written, one of which (FACETDAT) conveys the necessary geometrical information, while the other (EARDAT) carries everything else that the solver module needs to know.
The switching from the VR-Editor to the solver, and for that matter to any other PHOENICS module, is rendered particularly easy by the pull-down menus accessible from the top bar of the VR-Editor screen.
The solver EARTH starts with a MAIN program, open to users for re-dimensioning operations.
The other user-accessible source subroutines are GROUND, GREXn (i.e., GROUND example, number n) and others of the same kind.
EARTH contains sequences for:
A Typical EARTH Convergence Monitor Plot
GROUND is a subroutine which is called by EARTH at pre-set points of the solution cycle. If the user inserts appropriate FORTRAN statements at the entry points in GROUND, EARTH absorbs these into the solution process.
Special communication subroutines allow the user to extract information from EARTH, manipulate it in GROUND and then return new information or instructions to EARTH.
Many "service" sub-routines are attached, performing commonly-needed arithmetic operations. These greatly reduce the user's need to write FORTRAN-coding sequences.
Built-In Features Of EARTH
PHOENICS sets up and solves finite-domain equivalents of the basic differential equations.
It thus embodies the laws of conservation of mass, momentum and energy, for either one or two phases. More-than-2-phase flows can also be represented in a number of ways.
Any property obeying a balance equation can be represented, including
PHOENICS contains solvers for sets of linear simultaneous equations. Options include:
The coupled hydrodynamic equations are solved by the so-called SIMPLEST procedure. For two-phase flows, the IPSA version of this is used. Details of these procedures are given in the published CFD literature.
Handling special requirements
EARTH can handle problems which are:
EARTH accepts grid-definition, material-property, initial-value and boundary-condition information transmitted from the satellite.
EARTH turns to GROUND (or GREXn. etc.) for further data settings, when so instructed.
EARTH arranges for print-out of required output, and also of warnings, diagnostics, etc.
What is not built-in
Turbulence-model, chemical-kinetic, interphase-transport, radiation-flux and other coding sequences are attached, through GROUND, to the outside of EARTH.
They can therefore be inspected, modified or replaced by the PHOENICS user.
The built-in solvers can also be inspected, modified and replaced, should the user desire.
EARTH is thus a "glass box" not a "black box".
Display via VR
The Virtual-Reality Interface of PHOENICS can also operate as a results-display device. It is then called the VR-Viewer.
An example VR-Viewer plot is shown in the next image, once again taken from an example in TR/324 Starting with PHOENICS VR.
A Typical VR-Viewer Plot
The main advantage of VR-Viewer over the older PHOTON program is the ease with which it enables users to view streamlines, vectors, iso-surfaces and contour plots.
A further menu-driven interactive program, called PHOTON, can create from PHOENICS output:
A Typical PHOTON Plot
AUTOPLOT is the third member of the PHOENICS graphics family. It is a command-driven which can:
A Typical AUTOPLOT Picture
Other Input and Output Facilities
Many more input and output features of PHOENICS can be operated from the satellite.
Users for whom the built-in facilities do not suffice may introduce their own input/output sequences via the FORTRAN of SATLIT and GROUND.
GROUND-located sequences for problem-specific input, output source terms, boundary conditions or physical properties are switched on by setting special flags in the satellite.
An exemplary GROUND, subroutine GREXn, contains many frequently-used settings.
When these do not suffice, the task of creating new ones is lightened by provision of numerous auxiliary sub-routines, into which users need merely to supply the arguments.
PHOENICS is designed to serve two kinds of user: those who wish to perform flow simulations of standard kinds, with standard fluids, and by standard methods; and those whose needs or intentions necessitate the addition, in user-accessible subroutines, of special FORTRAN-coding sequences.
For users of the second kind, the so-called GROUND subroutines are supplied as part of the EARTH module. The PHOENICS Encyclopaedia contains full information about how these are accessed, inspected, modified and augmented.
The description explains how PHOENICS stores its data in memory, in the so-called F-array; and it does so in such detail that it is possible for the diligent enquirer to intervene not only in the physical modelling but also in the numerical-solution procedure.
The access to GROUND coding also allows the introduction of calls to non-PHOENICS software modules or data-bases, and the provision of special print-out sequences.
For the convenience of the user who wishes to create Fortran coding of his own, PHOENICS is equipped with many "utility" subroutines; these perform the most-commonly-required arithmetic, algebraic and print-out operations, so that it is rarely necessary for the user to do more than assign the arguments and call the functions.
The use of these facilities is amply illustrated in the exemplary subroutines which constitute the built-in modelling features of PHOENICS.
Examples are also to be found in the pages of the PHOENICS Journal.
For those users who want the benefits of the programmability of PHOENICS but are too uncertain of their Fortran skills to obtain them directly, the PLANT feature, described in the next section, provides them with what they need. In-Form goes one step further by dispensing with Fortran altogether.
What is PLANT ?
PLANT is an integral part of the PHOENICS SATELLITE which permits users to place in their Q1 files formulae for which there may not be any existing counterpart in EARTH or GROUND. PLANT then converts
these formulae into error-free Fortran coding which is "planted" into the GROUND sub-routine at the right place; thereafter compilation, re-linking and execution take place automatically.
In this way, PLANT relieves the user of the tasks of:
All the user needs to learn is a few simple rules about the format to be used for writing the formulae in the Q1 file.
How to learn about PLANT
A convenient way to learn about PLANT is to inspect the examples in the appropriate section of the PHOENICS input-file library. It is divided into sections dealing, among other topics, with:
Why PLANT is useful
The advantages of the PLANT facility are numerous. They include:-
What is In-Form ?
In-Form carries the PLANT idea one stage further, by:
In-Form provides the possibility of writing in the Q1 (data-input) file, formulae, or other statements, which dictate:
At present therefore, In-Form represents the ultimate in user-friendly CFD-code extensibility.
PHOENICS runs satisfactorily, with full functionality, on all hardware platforms, from personal computers, through UNIX work-stations, to single- or multi-processor super-computers.
On personal computers, the operating systems may be: DOS,Windows-95/98/ME, WINDOWS-NT/2000, WINDOWS-XP or LINUX.
The parallel version of PHOENICS has been successfully ported to the most-frequently-encountered shared-memory parallel machines, as well as to those employing distributed memory.
Of especial interest, because of the high power/cost ratio, is the use of PHOENICS on net-worked CLUSTERS OF PERSONAL COMPUTERS.
So far as is known from published information, PHOENICS is the only general-or special-purpose CFD code to be capable of working in this way.
Customization of PHOENICS
(a) Customization by addition
Rich though it is in flow-simulation capability, users of PHOENICS often wish to apply the code to tasks requiring additional features.
PHOENICS has therefore, from the start, been given an open-ness of structure and access which has allowed users to add Fortran modules of their own. This is represented by the GROUND feature (see above).
The In-Form facility carries customizability to new levels of convenience (see below).
Many examples of user-generated GROUND coding are to be found in, and can be copied from the pages of the regularly-published PHOENICS Journal.
Although some other CFD codes have recently been equipped with some"user-programmable sub-routines", none, it is safe to claim, afford to the user such customization power as PHOENICS does; and the majority provide none at all.
(b) Customization by subtraction
Many users require not greater power but less; for their range of applications is narrow; and they do not wish to be distracted by, or to pay for, what they will never use.
The structure of PHOENICS itself, and of its pricing, are compatible with their desires; for many of the features of PHOENICS are optional; and, if they are struck from the list at purchasing time, the price of the software licence is correspondingly reduced.
Options which can be dispensed with in his way are:
Two-phase (IPSA); Body-fitted coordinates; Solid-stress & -strain;
Multiblock & fine-grid-embedding; GENTRA particle tracking; PLANT;
Extra features related to:
Multi-phase flow; Numerical algorithms; Chemical reactions;
Radiation; Conventional turbulence models; Multi-fluid models.
(c) Customization by BOTH subtraction and addition
The largest number of users may require customization of both kinds; for the narrowness of their application sector may render many of the physical-simulation capabilities of PHOENICS unnecessary; but they probably have special requirements in respect of:
It is for this reason that CHAM is creating the series of special-purpose versions of PHOENICS, referred to briefly in section 2.
In order to make these special-purpose programs available to users who need CFD only occasionally, CHAM is creating web-enabled PHOENICS.
Learning to use PHOENICS
PHOENICS is supplied with an extensive set of on-line documentation,which includes:
CHAM also publishes a quarterly PHOENICS Journal, the articles in which report uses of PHOENICS in sufficient detail to enable their results to be reproduced, and then extended, by users.