Encyclopaedia Index
Open-source Fortran files
A large proportion of the Fortran coding of PHOENICS is open to viewing 
   by all users.
Those who have access to the programmable (ie re-compilable) version, are 
   also free (at their own risk!) to modify it. 
Access is here organised under the headings of:
- core coding,
 - coding associated with the twelve options,  and
 - special-purpose-program coding.
 
a. PHOENICS-core coding concerned with
- General organization of the calculations
 - Material properties
 - Turbulence
 - Sources, other than of turbulence energy
 - Creation of shapes 
 - Use of special source or boundary-condition patches 
 - User-created solvers, and other interventions in the
                    equation-forming and solving process 
 - Arrangements for output
 - Utilities
 
b.The 12 options, in alphabetical order 
- 
    Advanced multi-phase flow (algebraic-slip; free-surface flows) 
 - 
    Advanced chemistry 
 - 
    Advanced numerical algorithms 
 - 
    Advanced radiation 
 - 
    Advanced turbulence models 
 - 
    Body-fitted coordinates 
 - 
    GENTRA (particle tracking) 
 - 
    (Inter-spersed) two-phase flows 
 - 
    Multi-block and fine-grid embedding 
 - 
    PLANT, the automatic Fortran-code creator 
 - 
    Simultaneous solid-stress analysis 
 
 
c. Special-purpose programs
- HOTBOX
 - FLAIR
 - ESTER
 - CVD
 
The open-source Fortran files of the PHOENICS core concerned with: 
- General organization of the calculations are
    
    - GROUND, the "frame-work" subroutine,
                 into which users can introduce their own coding, either 
                 directly or by way of 
                 PLANT
    
 - GREX3 
    an exemplary GROUND, which activates many of the sub-routines in the 
    following files.
    
 
          
 - Material properties, in the order in which they
                          are referred to in the PROPS file
  - Density
    
  
 - Viscosity
    
 - gxspehe for the 
                 specific heat capacity, and
        gxtempr for the related
                 coding which deduces the temperature when this is not a 
                 directly-solved-for variable          
     - gxprndtl 
                for the (laminar) prandtl number or thermal conductivity
    
 - gxthrmx 
                for the thermal-expansion coefficient
    
 - gxdrdp for 
                compressibility
    
    and also:
    
 - gxprutil for 
               associated utility subroutines.
 
    
 - Turbulence
    
    - gxknvst for 
                        turbulent (effective) kinematic viscosity
    
 - gxmxlen for 
                        length scale of turbulence
    
 - gxturb 
        for turbulence-energy generation
    
 - gxgenk 
        for further subroutines use in the calculation of energy generation
    
 - gxwall 
        for turbulent "wall functions"
    
 
                    
 - Sources, other than those of turbulence energy
    
    - gxbuoyso for 
        sources of momentum induced by buoyancy
    
 - gxrotaso for 
        sources of momentum induced by rotation of coordinates
    
 - gxchemso for 
        sources of chemical species resulting from reaction
    
 - gxradiat for 
        sources associated with radiation
    
 - gxmiscso for 
        miscellaneous sources 
    
 - gxblin for 
        sources associated with the
        
        WIND_PROFILE object
    
 - gxio for 
        sources associated with 
        
        ANGLED_IN and
        
        ANGLED_OUT objects
    
 - gxfire for 
        sources associated with the 
        
        FIRE object 
    
 - gxswfan for 
        sources associated with the 
        
        FAN object in 'swirl' mode
    
 
                    
 - Creation of shapes 
    
    - gxshap for 
         simple algebraically-defined shapes
    
 - gxmask for 
         shapes created by way of masks
    
 - gxmovpor for 
         varying or moving porosities
    
 - gxpiston for 
         a grid which expands and contracts in piston-cylinder manner
         
    
 
    
    
 - Use of special source or boundary-condition patches 
    
    - gxtimpat for 
         conditions which vary with time
    
 - gxnepat for 
         neighbour-cell patches
    
 - gxfuldev for 
         fully-developed flows
    
 - gxprofil for 
         introducing specific boundary-condition profiles
    
 
    
 - User-created solvers 
    
    - gxgauss for 
        a Gauss-Seidel solver
    
 - gxconvec for 
        modifications to the convection  terms for compressible flows
    
 - gxsettim for 
        re-setting the time step in a fast transient
    
 
    
 - Arrangements for output
    
    - gxpara for 
         providing photon-displayable files in parabolic runs
    
 - gxarrtim for 
         computing flame (or other) arrival times
    
 - gxusteer for 
         enabling intervention in EARTH execution by way of USTEER=T
    
 - gxpotflo for 
         for computing velocity components in potential-flow calculations
    
 - gxresult for 
        display of convergence results at end of calculations
    
 
 - Utilities
    
    - gxutil for 
        miscellaneous utilities