examples/femaxx_main.cpp File Reference

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include "rlog/rlog.h"
#include "rlog/StdioNode.h"
#include "rlog/RLogChannel.h"
#include "myrlog.h"
#include <ml_include.h>
#include <Epetra_SerialComm.h>
#include "pbe.h"
#include <Teuchos_ParameterList.hpp>
#include <ml_epetra_preconditioner.h>
#include "optparse/TypedOptionParser.h"
#include "femaxxdriver.h"

Include dependency graph for femaxx_main.cpp:

Go to the source code of this file.


void finalize ()
int main (int argc, char *argv[])

Detailed Description

Source code of the femaxx_driver program.

femaxx_driver is a program for computing a few of the lowest eigenvalues and eigenvectors of an accelerator cavity given by a tetrahedral mesh. The computation can be customised using a variety of command line options.

The basic operation of femaxx_driver is the following:

Currently the postprocessing step is disabled. Due to recent introduction of the distributed mesh data structure, some of its algorithms need to be updated.
femaxx_driver prints some basic status information to stderr. In addition a more verbose, uniquely named log file is generated.

Running femaxx_driver

femaxx_driver is an MPI programm that accepts a variety of command line options. To print a list of all options, start femaxx_driver with the -h option. Usally this is accomplished with the following command.

mpirun -np 1 build/release/examples/femaxx_driver -h

femaxx_driver requires the --mesh and the --sigma parameters to be set. All other parameters are optional.

A typical command for running femaxx_driver would be

mpirun -np 2 build/release/examples/femaxx_driver --mesh=/meshes/cop40.ng \

femaxx_driver reads the mesh information from the HDF5 file /meshes/cop40.ng and then computes 5 eigenvalues near the specified shift value 1.5 together with the corresponding eigenvectors. Note that shift $\sigma$=1.5 corresponds to a eigenfrequency f of about 58.43 MHz, using the equation $f = \sqrt{\sigma} \, c_{\mathrm{light}} / 2\pi$.

Definition in file femaxx_main.cpp.

Function Documentation

void finalize (  ) 

Called before process exits. Registered using atexit().

Definition at line 83 of file femaxx_main.cpp.

int main ( int  argc,
char *  argv[] 

Main driver program.

Definition at line 201 of file femaxx_main.cpp.

References finalize(), get_log_file_name(), log_command_line_args(), and rDebugAll.

Here is the call graph for this function:

Generated on Fri Oct 26 13:35:13 2007 for FEMAXX (Finite Element Maxwell Eigensolver) by  doxygen 1.4.7