1 #ifndef __CS_OPTS_H__ 2 #define __CS_OPTS_H__ 3 4 /*============================================================================ 5 * Parsing of program arguments and associated initializations 6 *============================================================================*/ 7 8 /* 9 This file is part of Code_Saturne, a general-purpose CFD tool. 10 11 Copyright (C) 1998-2021 EDF S.A. 12 13 This program is free software; you can redistribute it and/or modify it under 14 the terms of the GNU General Public License as published by the Free Software 15 Foundation; either version 2 of the License, or (at your option) any later 16 version. 17 18 This program is distributed in the hope that it will be useful, but WITHOUT 19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 20 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 21 details. 22 23 You should have received a copy of the GNU General Public License along with 24 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin 25 Street, Fifth Floor, Boston, MA 02110-1301, USA. 26 */ 27 28 /*----------------------------------------------------------------------------*/ 29 30 /*---------------------------------------------------------------------------- 31 * Local headers 32 *----------------------------------------------------------------------------*/ 33 34 #include "cs_base.h" 35 36 /*----------------------------------------------------------------------------*/ 37 38 BEGIN_C_DECLS 39 40 /*============================================================================ 41 * Macro definitions 42 *============================================================================*/ 43 44 /*============================================================================ 45 * Type definitions 46 *============================================================================*/ 47 48 /*---------------------------------------------------------------------------- 49 * Code_Saturne base options structure 50 *----------------------------------------------------------------------------*/ 51 52 typedef struct { 53 54 char *app_name; /* Application name */ 55 56 /* Redirection of standard output */ 57 58 bool trace; /* Trace progress to stdout */ 59 bool logrp; /* Redirection for ranks > 0 60 (false: to "/dev/null", suppressed) 61 true: to "run_solver_n*.log" file) */ 62 63 /* Signal handling */ 64 65 bool sig_defaults; /* use default signal handlers */ 66 67 /* Other options */ 68 69 bool preprocess; /* Mesh preprocessing mode */ 70 bool verif; /* Mesh quality verification mode */ 71 int benchmark; /* Benchmark mode: 72 0: not used; 73 1: timing (CPU + Walltime) mode 74 2: MPI trace-friendly mode */ 75 76 } cs_opts_t; 77 78 /*============================================================================= 79 * Public function prototypes 80 *============================================================================*/ 81 82 /*---------------------------------------------------------------------------- 83 * Define options and call some associated initializations 84 * based on command line arguments 85 * 86 * parameters: 87 * argc --> number of command line arguments 88 * argv --> array of command line arguments 89 * opts <-- options structure 90 *----------------------------------------------------------------------------*/ 91 92 void 93 cs_opts_define(int argc, 94 char *argv[], 95 cs_opts_t *opts); 96 97 /*----------------------------------------------------------------------------*/ 98 99 END_C_DECLS 100 101 #endif /* __CS_OPTS_H__ */ 102