NOX
Development
|
At present, NOX supports a concrete implementation of the NOX::Abstract::Group and NOX::Abstract::Vector using PETSc data structures in the namespace NOX::Petsc. The current implementation has been tested against PETSc 3.0.0-p5.
To compile the NOX/PETSc library libnoxpetsc.a
, use the following configuration sequence:
setenv PETSC_DIR ${HOME}/petsc-3.0.0-p5 setenv PETSC_ARCH linux configure --enable-nox-petsc
This will build libnoxpetsc.a
using a pre-built PETSc version 2.1.6 installed in the user's home directory on a linux machine:
If the environment variables PETSC_DIR
and PETSC_ARCH
have already been defined, simply use:
configure --enable-nox-petsc
A third option is to specify PETSC_DIR
and PETSC_ARCH
as arguments to the configure script, eg
configure --enable-nox-petsc PETSC_DIR=${HOME}/petsc-3.0.0-p5 PETSC_ARCH=linux
To compile the examples for NOX/PETSc, an additional environment variable, PETSC_BOPT
, must be defined and set to the value of BOPT used to build the user's PETSc installation. For example, for PETSc previously built debug-enabled for C++ using BOPT=g_c++, simply set PETSC_BOPT=g_c++. The configure script then allows the examples to be built using the following:
configure --enable-nox-petsc --enable-nox-petsc-examples.
Depending on the user's PETSc build, dynamically linked libraries may be used. If an error occurs when trying to run the example executable, make sure the environment variable LD_LIBRARY_PATH
points to the PETSc library directory. From the example above, setting the path would likely require:
setenv LD_LIBRARY_PATH ${PETSC_DIR}/lib/lib_${PETSC_BOPT}/${PETSC_ARCH}