/* * Copyright(C) 1999-2020, 2022 National Technology & Engineering Solutions * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with * NTESS, the U.S. Government retains certain rights in this software. * * See packages/seacas/LICENSE for details */ #pragma once #include // for string struct Machine_Description; struct Problem_Description; struct Solver_Description; template struct LB_Description; template struct Weight_Description; /* Prototype for command-line parsing function */ template int cmd_line_arg_parse( int argc, /* The command line argument count */ char *argv[], /* The command line arguments array */ std::string &exoII_inp_file, /* The ExodusII input FEM file name */ std::string &ascii_inp_file, /* The ASCII input file name */ std::string &nemI_out_file, /* The output NemesisI file name */ Machine_Description *machine, /* Pointer to structure in which to place machine * information */ LB_Description *lb, /* Pointer to structure in which to place load * balance parameters */ Problem_Description *prob, /* Pointer to structure in which to place general * information about the run */ Solver_Description *solver, /* Pointer to structure in which to place parameters * for the eigensolver */ Weight_Description *weight /* Pointer to structure in which to place parameters * for the graph weighting scheme */ ); /* Prototype for function which reads in the ASCII input file */ template int read_cmd_file(std::string &ascii_inp_file, /* The ASCII input file name */ std::string &exoII_inp_file, /* The ExodusII input FEM file name */ std::string &nemI_out_file, /* The output NemesisI file name */ Machine_Description *machine, /* Pointer to structure in which to place machine * information */ LB_Description *lb, /* Pointer to structure in which to place load * balance parameters */ Problem_Description *problem, /* Pointer to structure in which to place general * information about the run */ Solver_Description *solver, /* Pointer to structure in which to place parameters * for the eigensolver */ Weight_Description *weight /* Pointer to structure in which to place * parameters for the eigensolver */ ); /* Prototype for function which checks the user specified input */ template int check_inp_specs(std::string &exoII_inp_file, /* The ExodusII input FEM file name */ std::string &nemI_out_file, /* The output NemesisI file name */ Machine_Description *machine, /* Pointer to structure in which to place machine * information */ LB_Description *lb, /* Pointer to structure in which to place load * balance parameters */ Problem_Description *prob, /* Pointer to structure in which to place general * information about the run */ Solver_Description *solver, /* Pointer to structure in which to place parameters * for the eigensolver */ Weight_Description *weight /* Pointer to structure in which to place * parameters for the weighting scheme */ ); /* Various defines used by the input routines */ #define NS_NONE -1