Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
rocman.h
Go to the documentation of this file.
1 /* *******************************************************************
2  * Rocstar Simulation Suite *
3  * Copyright@2015, Illinois Rocstar LLC. All rights reserved. *
4  * *
5  * Illinois Rocstar LLC *
6  * Champaign, IL *
7  * www.illinoisrocstar.com *
8  * sales@illinoisrocstar.com *
9  * *
10  * License: See LICENSE file in top level of distribution package or *
11  * http://opensource.org/licenses/NCSA *
12  *********************************************************************/
13 /* *******************************************************************
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
15  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES *
16  * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND *
17  * NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR *
18  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *
19  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
20  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
21  * USE OR OTHER DEALINGS WITH THE SOFTWARE. *
22  *********************************************************************/
23 
24 #ifndef _ROCMAN_H_
25 #define _ROCMAN_H_
26 
27 using namespace std;
28 #include <iostream>
29 #include <vector>
30 #include <cstdlib>
31 #include <cstdio>
32 #include <cstring>
33 
34 #include <cmath>
35 
36 #include "commpi.h"
37 
38 #define MAN_INTEG_SIZE 9
39 
40 #include "Action.h"
41 
42 #include "Scheduler.h"
43 
44 #include "Coupling.h"
45 
46 #include "Agent.h"
47 
48 #include "RocBlas.h"
49 
50 #define CI_DATE "$Date: 2009/11/04 15:15:15 $ GMT"
51 #define VERSION "3.0.0"
52 #define BUILD_NUM 2
53 
54 enum { MAN_INTEG_VOL=1, MAN_INTEG_MASS=2, // Volume and mass
56  MAN_INTEG_ENER=6, // Energy
57  MAN_INTEG_IBAREA=7, // Area of burning f-s interface
58  MAN_INTEG_INBAREA=8, // Area of non-burning f-s interface
59  MAN_INTEG_VOL_UND=9 // Undeformed volume
60 };
61 
63 public:
64  int verbose; // verbosity of rocman
65  int separate_out; // write to individual directory of each proc
66 
67  int order; // order of interpolation scheme
69  double P_ambient;
70  // for solid
71  double rhoc; // Solid density
72  double pressure;
73  double burn_rate;
74 
75  // Data transfer parameters
76  int rfc_verb;
77  int rfc_order; // order of quadrature rules
78  int rfc_iter; // max iterations
79  double rfc_tol; // tolerance for iterative solver
80 
81  char PROP_fom; // Using face-offsetting method for surface propagation - true or false 'T' or 'F'
82  int PROP_rediter; // number of smoothing iterations
83  double PROP_fangle; // Threshold for feature angles
84  char PROPCON_enabled; // 'T' or the default, 'F' (Rocon)
85  int PROPCON_ndiv; // number of divisions for propagation constraints (Rocon)
86  char async_in; //
87  char async_out;
88 
89  int remeshed;
90 public:
92  void read(MPI_Comm comm, int commrank);
93  void print();
94 };
95 
96 extern int man_verbose;
97 
98 #define MAN_DEBUG(l, x) if (man_verbose>=l) printf x;
99 
100 void debug_print(const std::string str, int pane, int pe, MPI_Comm comm, const char *memo=NULL);
101 void debug_int_print(const std::string str, int pane, int pe, MPI_Comm comm, const char *memo=NULL);
102 
103 #endif
104 
105 
106 
107 
108 
109 
void debug_int_print(const std::string str, int pane, int pe, MPI_Comm comm, const char *memo=NULL)
int man_verbose
Contains declarations of MPI subroutines used in Roccom.
void debug_print(const std::string str, int pane, int pe, MPI_Comm comm, const char *memo=NULL)
void read(std::istream &is, T &t, const io_Read_write &)
Definition: io.h:132