Sandia Home Sandia Home
Main Page | Publications | Downloads | Configuration | Running the Code | Solver Parameters | FAQ | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Using the APPSPACK Executables

Depending on the configuration options you choose (see Configuration, Compilation, and Installation), APPSPACK will create the following executables:

To use either of these, you need only complete three steps.

We use example4.cpp for illustration.

Step 1: Create an executable that evaluates the objective function.

The first step is to create an executable that evaluates the objective function, and this step is the same for both the serial and MPI versions of the code. The executable will find the point to be evaluated in a specified input file and should put the result in a specified output file.

The tag is a unique identifier that is assigned to each trial point and is used in the naming of files to prevent conflicts. Thus, the calling sequence is as follows: the first argument is the name of the executable, the second argument is the name of the input file, the third argument is the name of the output file, and the fourth argument is a unique tag that can be used in the naming of auxillary files.

The input file is very simply formatted. The first line is an integer that indicates the length of the vector. This is then is followed by the vector itself, one entry per line.

Likewise, the output file is also simply formatted. It should contain either a single numeric entry that is the function value or an error string.

In most cases, the executable you provide is actually a script that goes through several steps in order to calculate the objective value. If you are creating auxillary files, it is important that you use the tag (the fourth argument in the calling sequence) in the naming of your files to prevent conflicts. This is particularly important if running the MPI version of APPSPACK.

See the APPSPACK::Evaluator::SystemCall object for details on how the evaluation is processed.

Step 2: Create an APPSPACK input file

You must provide an input file specifying the parameters for running APPSPACK.

This input file is processed by APPSPACK::parseTextInputFile() to create a Parameter::List with three sublists: "Evaluator", "Linear", and "Solver". These sublists are then used as arguments to the constructors for the APPSPACK::Evaluator::SystemCall, APPSPACK::Constraints::Linear, and APPSPACK::Solver objects, respectively.

Step 3: Run APPSPACK

 

© Sandia Corporation | Site Contact | Privacy and Security

Generated on Fri Feb 16 10:33:36 2007 for APPSPACK 5.0.1 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2002