skip to content


Building CFL3Dv6 Executables


CONTENTS

The "executive summary" summarizes the basic make procedure and may be all you really want to know



MAKE COMMANDS

Once the installation step is complete, a makefile will automatically be created for the current platform architecture ( IRIX64 for SGI/Origin, solaris for Sun, alpha for DEC, etc.). If not already in the build directory, go there. If you now type make, you will see the options available:

make cfl3d_mpi       - build an mpi version of cfl3d
 
make cfl3d_seq       - build a sequential version of cfl3d
 
make cfl3d_libs      - build the common libraries for mpi/seq versions
                       NOTE: this is done automatically when
                       making cfl3d_mpi or cfl3d_seq
 
make cfl3dcmplx_mpi  - build a complex mpi version of cfl3d
 
make cfl3dcmplx_seq  - build a complex sequential version of cfl3d
 
make cfl3dcmplx_libs - build the common libraries for complex mpi/seq versions
                       NOTE: this is done automatically when
                       making cfl3dcmplx_mpi or cfl3dcmplx_seq
 
make precfl3d        - build a sequential version of precfl3d
 
make ronnie          - build a sequential version of ronnie
 
make preronnie       - build a sequential version of preronnie
 
make maggie          - build a sequential version of maggie
 
make splitter        - build a sequential version of splitter
 
make splittercmplx   - build a complex sequential version of splitter
 
make cfl3d_tools     - build a sequential version of some cfl3d utilities
 
make scrubTARGET     - remove all files except the makefile in
                       directories related to TARGET; where
                       TARGET may be any one of the above targets
                  ---> NOTE: you will have to re-link the files
                       for TARGET before re-making TARGET
 
make scruball        - remove all files except the makefile in
                       all directories
                  ---> NOTE: you will have to re-link before
                       re-making any target (see linkall below)
 
make linkTARGET      - create soft-links for the construction
                       directory of TARGET
                  ---> NOTE: not needed unless you have done a
                       make with scrubTARGET
 
make linkall         - create soft-links for all construction
                       directories
                  ---> NOTE: not needed unless you have done a
                       make with scruball

With the exception of MAGGIE, the chimera-grid preprocessor, all the executables can be compiled and run without first obtaining header files. Before compiling MAGGIE you must set up a header file called mag1.h and place it in the header directory.

After make has created a particular executable, it will tell you where it has created the executable, and you may copy or move that executable to a working directory, if desired. For example, if you type

make cfl3d_mpi

when the compilation is successfully completed you will see the following message:

==============================================================

                   DONE:  cfl3d_mpi created

              the mpi executable can be found in:

                    cfl/mpi/cfl3d_mpi

==============================================================

 

You could then type:

cp   cfl/mpi/cfl3d_mpi   ~my_work_dir/.

where my_work_dir is the directory in which you have your cfl3d input file.

NOTE: If you are a code developer, note that on some systems (including Linux), the make command used by CFL3D does not recognize when one of its components has been updated. In other words, after the code is compiled and you subsequently make a change to one or more of the subroutines, typing make in the build/ directory may not recompile the changed routines. One way to force the routines to compile is to delete the .o object files of the routines you want recompiled. These are located, for example, in build/cfl/libs/, build/cfl/seq/, or build/cfl/mpi/.

Return To Top


SUGGESTED ENVIRONMENT VARIABLES

You may find it more convienient to leave the executable where it is and simply create an environment variable, say, cfl3d_mpi, via your .chsrc file. This way you won't have to have duplicate copies of the executables lying around. As an example, your .cshrc file might contain:

setenv cfl3d_mpi ~username/cfl3dv6/build/cfl/mpi/cfl3d_mpi
setenv cfl3d_seq ~username/cfl3dv6/build/cfl/seq/cfl3d_seq
setenv precfl3d ~username/cfl3dv6/build/precfl/seq/precfl3d
setenv splitter ~username/cfl3dv6/build/split/seq/splitter
setenv preronnie ~username/cfl3dv6/build/preron/seq/preronnie

If the environment variables are used, executable names must be prepended by a "$" sign when they are invoked, e.g. use $cfl3d_seq  < cfl3d.inp rather than cfl3d_seq  < cfl3d.inp

Note: it is suggested to set an environment variable, rather than an alias, simply because the alias approach does not seem to work for parallel processing.

Return To Top


EXECUTIVE SUMMARY

Return To Top


NEXT, SEE:

Running Version 6

Return To Top


 


Privacy Act Statement

Responsible NASA Official: Christopher Rumsey
Page Curator: Christopher Rumsey
Last Updated: 03/29/2013