Zoltan 2 Version 0.5
Zoltan2_Parameters.hpp
Go to the documentation of this file.
00001 //
00002 //   Zoltan2: A package of combinatorial algorithms for scientific computing
00003 //                  Copyright 2012 Sandia Corporation
00004 //
00005 // Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
00006 // the U.S. Government retains certain rights in this software.
00007 //
00008 // Redistribution and use in source and binary forms, with or without
00009 // modification, are permitted provided that the following conditions are
00010 // met:
00011 //
00012 // 1. Redistributions of source code must retain the above copyright
00013 // notice, this list of conditions and the following disclaimer.
00014 //
00015 // 2. Redistributions in binary form must reproduce the above copyright
00016 // notice, this list of conditions and the following disclaimer in the
00017 // documentation and/or other materials provided with the distribution.
00018 //
00019 // 3. Neither the name of the Corporation nor the names of the
00020 // contributors may be used to endorse or promote products derived from
00021 // this software without specific prior written permission.
00022 //
00023 // THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
00024 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00025 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00026 // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
00027 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00028 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00029 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00030 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
00031 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
00032 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
00033 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00034 //
00035 // Questions? Contact Karen Devine      (kddevin@sandia.gov)
00036 //                    Erik Boman        (egboman@sandia.gov)
00037 //                    Siva Rajamanickam (srajama@sandia.gov)
00038 //
00039 
00044 #ifndef _ZOLTAN2_PARAMETERS_HPP_
00045 #define _ZOLTAN2_PARAMETERS_HPP_
00046 
00047 #include <Zoltan2_Standards.hpp>
00048 
00049 namespace Zoltan2{
00050 
00052 // Parameter-related namespace methods 
00053 
00054 void createAllParameters(Teuchos::ParameterList &pList);
00055 
00056 void createValidatorList(
00057    const Teuchos::ParameterList &plIn, Teuchos::ParameterList &plOut);
00058 
00059 void printListDocumentation( const Teuchos::ParameterList &pl, ostream &os,
00060   string listNames=string(""));
00061 
00063 // Parameter-related enumerated types.
00064 //
00065 //  If you change these enumerators, change their documentation
00066 //  in data/parameters.xml.
00067 //
00068 
00081 enum AssertionLevel {
00082   NO_ASSERTIONS,   
00083   BASIC_ASSERTION, 
00084   COMPLEX_ASSERTION,  
00085   DEBUG_MODE_ASSERTION, 
00086   NUM_ASSERTION_LEVELS
00087 };
00088 
00098 enum MessageOutputLevel {
00099   NO_STATUS,         
00100   BASIC_STATUS,      
00101   DETAILED_STATUS,   
00102   VERBOSE_DETAILED_STATUS, 
00103   NUM_STATUS_OUTPUT_LEVELS
00104 };
00105 
00118 enum TimerType {
00119   NO_TIMERS,    
00120   MACRO_TIMERS, 
00121   MICRO_TIMERS, 
00122   BOTH_TIMERS,  
00123   TEST_TIMERS,  
00124   NUM_TIMING_OPTIONS
00125 };
00126 
00130 enum OSType {
00131   COUT_STREAM,    
00132   CERR_STREAM,    
00133   NULL_STREAM,    
00134   NUM_OUTPUT_STREAMS
00135 };
00136 
00139 enum multiCriteriaNorm{
00140   normMinimizeTotalWeight,   
00141   normBalanceTotalMaximum,   
00142   normMinimizeMaximumWeight, 
00143   normNumNorms
00144 };
00145 
00146 }  // end of namespace Zoltan2
00147 
00148 #endif