Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RocmanControl_parameters Class Reference

#include <rocman.h>

Public Member Functions

 RocmanControl_parameters ()
 
void read (MPI_Comm comm, int commrank)
 
void print ()
 

Public Attributes

int verbose
 
int separate_out
 
int order
 
int traction_mode
 
double P_ambient
 
double rhoc
 
double pressure
 
double burn_rate
 
int rfc_verb
 
int rfc_order
 
int rfc_iter
 
double rfc_tol
 
char PROP_fom
 
int PROP_rediter
 
double PROP_fangle
 
char PROPCON_enabled
 
int PROPCON_ndiv
 
char async_in
 
char async_out
 
int remeshed
 

Detailed Description

Definition at line 62 of file rocman.h.

Constructor & Destructor Documentation

Definition at line 331 of file rocstar_driver.C.

References async_in, async_out, burn_rate, order, P_ambient, pressure, PROP_fangle, PROP_fom, PROP_rediter, PROPCON_enabled, PROPCON_ndiv, remeshed, rfc_iter, rfc_order, rfc_tol, rfc_verb, rhoc, separate_out, traction_mode, and verbose.

332 {
333  // default
334  verbose = 1;
335  separate_out = 0;
336 
337  order = 0;
338  traction_mode = 1; // NO_SHEER;
339  rhoc = 1703.0;
340  pressure = 6.8e6;
341  burn_rate = 0.01;
342  P_ambient = 0.0;
343  PROP_fom = 0;
344  PROP_rediter = 2;
345  PROP_fangle = 35.;
346  PROPCON_enabled = 0;
347  PROPCON_ndiv = 100;
348  async_in = 0;
349  async_out = 0;
350  rfc_verb = 1;
351  rfc_order = 2;
352  rfc_iter = 100;
353  rfc_tol=1.e-6;
354 
355  // internal
356  remeshed = 0;
357 }

Member Function Documentation

void print ( void  )

Definition at line 449 of file rocstar_driver.C.

References async_in, async_out, burn_rate, order, P_ambient, pressure, PROP_fangle, PROP_fom, PROP_rediter, PROPCON_enabled, PROPCON_ndiv, rfc_iter, rfc_order, rfc_tol, rfc_verb, rhoc, traction_mode, and verbose.

Referenced by rocstar_driver().

450 {
451  printf("========== Rocman Parameter file read ==========\n");
452  printf("Rocstar: verbosity level is %d\n", verbose);
453  printf("Rocstar: The order of interpolation is %d\n", order);
454  printf("Rocstar: Traction mode is %d (1 for no sheer, 2 for with sheer)\n", traction_mode);
455  printf("Rocstar: ambient pressure is %f\n", P_ambient);
456  printf("Rocstar: Solid density (Rhoc) is %f kg/m^3\n", rhoc);
457  printf("Rocstar: Pressure is %f Pa\n", pressure);
458  printf("Rocstar: Burning rate is %f m/s\n", burn_rate);
459  printf("Rocstar: RFC_verb: %d\n", rfc_verb);
460  printf("Rocstar: Order of quadrature rule (RFC_order): %d\n", rfc_order);
461  printf("Rocstar: Max iterations for iterative solver: %d\n", rfc_iter);
462  printf("Rocstar: tolerance for iterative solver (RFC_tolerance): %f\n", rfc_tol);
463  if (PROP_fom)
464  printf("Rocstar: Using face-offsetting method for surface propagation.\n");
465  else
466  printf("Rocstar: Using marker-particle method for surface propagation.\n");
467  if(PROPCON_enabled)
468  printf("Rocstar: Using Rocon propagation constraints, (ndiv = %d).\n",PROPCON_ndiv);
469  printf("Rocstar: Number of smoothing iterations in Rocprop: %d\n", PROP_rediter);
470  printf("Rocstar: Feature-angle threshold in Rocprop: %f\n", PROP_fangle);
471  printf("Rocstar: Async Input: %c\n", async_in?'T':'F');
472  printf("Rocstar: Async Output: %c\n", async_out?'T':'F');
473  printf("==================================================\n");
474 }

Here is the caller graph for this function:

void read ( MPI_Comm  comm,
int  commrank 
)

Definition at line 359 of file rocstar_driver.C.

References async_in, async_out, burn_rate, COM_BOOL_ATTRIBUTE, COM_call_function(), COM_delete_window(), COM_DOUBLE_ATTRIBUTE, COM_get_function_handle(), COM_INT_ATTRIBUTE, COM_new_window(), COM_window_init_done(), man_verbose, order, P_ambient, pressure, PROP_fangle, PROP_fom, PROP_rediter, PROPCON_enabled, PROPCON_ndiv, rfc_iter, rfc_order, rfc_tol, rfc_verb, rhoc, separate_out, traction_mode, and verbose.

Referenced by rocstar_driver().

360 {
361  const std::string filename = "Rocman/RocmanControl.txt";
362 
363  struct stat statBuf;
364 
365  string winname = "RocmanControlParam";
366  COM_new_window(winname.c_str());
367 
368  string attr;
369  COM_INT_ATTRIBUTE("Verbose", verbose);
370  COM_INT_ATTRIBUTE("Separate_out", separate_out);
371 
372  COM_INT_ATTRIBUTE("InterpolationOrder", order);
373  COM_INT_ATTRIBUTE("TractionMode", traction_mode);
374  COM_DOUBLE_ATTRIBUTE("P_ambient", P_ambient);
375 
376  COM_DOUBLE_ATTRIBUTE("Rhoc", rhoc);
377  COM_DOUBLE_ATTRIBUTE("Pressure", pressure);
378  COM_DOUBLE_ATTRIBUTE("BurnRate", burn_rate);
379 
380  COM_INT_ATTRIBUTE("RFC_verb", rfc_verb);
381  COM_INT_ATTRIBUTE("RFC_order", rfc_order);
382  COM_INT_ATTRIBUTE("RFC_iteration", rfc_iter);
383  COM_DOUBLE_ATTRIBUTE("RFC_tolerance", rfc_tol);
384 
385  COM_BOOL_ATTRIBUTE("Face-offsetting", PROP_fom);
386  COM_BOOL_ATTRIBUTE("PROPCON_enabled", PROPCON_enabled);
387  COM_INT_ATTRIBUTE("PROP_rediter", PROP_rediter);
388  COM_INT_ATTRIBUTE("PROPCON_ndiv", PROPCON_ndiv);
389  COM_DOUBLE_ATTRIBUTE("PROP_fangle", PROP_fangle);
390 
391  COM_BOOL_ATTRIBUTE("AsyncInput", async_in);
392  COM_BOOL_ATTRIBUTE("AsyncOutput", async_out);
393 
394  //
395  COM_window_init_done(winname.c_str());
396 
397  if (stat(filename.c_str(), &statBuf) == 0)
398  {
399  if ( comm_rank == 0) { // only rank 0 reads
400  //===== Read in parameter file using Rocin
401  int IN_param = COM_get_function_handle( "IN.read_parameter_file");
402 
403  COM_call_function(IN_param, filename.c_str(), (winname).c_str());
404  }
405 
406  MPI_Bcast(&verbose, 1, MPI_INT, 0, comm);
407  MPI_Bcast(&separate_out, 1, MPI_INT, 0, comm);
408  MPI_Bcast(&order, 1, MPI_INT, 0, comm);
409  MPI_Bcast(&traction_mode, 1, MPI_INT, 0, comm);
410  MPI_Bcast(&P_ambient, 1, MPI_DOUBLE, 0, comm);
411  MPI_Bcast(&rhoc, 1, MPI_DOUBLE, 0, comm);
412  MPI_Bcast(&pressure, 1, MPI_DOUBLE, 0, comm);
413  MPI_Bcast(&burn_rate, 1, MPI_DOUBLE, 0, comm);
414  MPI_Bcast(&rfc_verb, 1, MPI_INT, 0, comm);
415  MPI_Bcast(&rfc_order, 1, MPI_INT, 0, comm);
416  MPI_Bcast(&rfc_iter, 1, MPI_INT, 0, comm);
417  MPI_Bcast(&rfc_tol, 1, MPI_DOUBLE, 0, comm);
418  MPI_Bcast(&PROP_fom, 1, MPI_CHAR, 0, comm);
419  MPI_Bcast(&PROP_rediter, 1, MPI_INT, 0, comm);
420  MPI_Bcast(&PROPCON_enabled, 1, MPI_CHAR, 0, comm);
421  MPI_Bcast(&PROPCON_ndiv, 1, MPI_INT, 0, comm);
422  MPI_Bcast(&PROP_fangle, 1, MPI_DOUBLE, 0, comm);
423  MPI_Bcast(&async_in, 1, MPI_CHAR, 0, comm);
424  MPI_Bcast(&async_out, 1, MPI_CHAR, 0, comm);
425  }
426 
427  COM_delete_window(winname.c_str());
428 
430 
431  // set options for Rocout
432  int OUT_set_option = COM_get_function_handle( "OUT.set_option");
433  const char *rankWidth = "4";
434  COM_call_function( OUT_set_option, "rankwidth", rankWidth);
435  COM_call_function( OUT_set_option, "pnidwidth", "0");
436  //const char *ioFormat = "HDF";
437  const char *ioFormat = "CGNS";
438  COM_call_function( OUT_set_option, "format", ioFormat);
439  if ( async_out)
440  COM_call_function( OUT_set_option, "async", "on");
441  else
442  COM_call_function( OUT_set_option, "async", "off");
443  if ( separate_out)
444  COM_call_function( OUT_set_option, "rankdir", "on");
445  else
446  COM_call_function( OUT_set_option, "rankdir", "off");
447 }
void COM_delete_window(const char *wname)
Definition: roccom_c++.h:94
#define COM_DOUBLE_ATTRIBUTE(attrname, varname)
int man_verbose
void COM_window_init_done(const char *w_str, int pane_changed=true)
Definition: roccom_c++.h:102
void COM_new_window(const char *wname, MPI_Comm c=MPI_COMM_NULL)
Definition: roccom_c++.h:86
void COM_call_function(const int wf, int argc,...)
Definition: roccom_c.C:48
#define COM_BOOL_ATTRIBUTE(attrname, varname)
int COM_get_function_handle(const char *wfname)
Definition: roccom_c++.h:428
#define COM_INT_ATTRIBUTE(attrname, varname)

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

char async_in

Definition at line 86 of file rocman.h.

Referenced by print(), read(), and RocmanControl_parameters().

char async_out

Definition at line 87 of file rocman.h.

Referenced by print(), read(), and RocmanControl_parameters().

double burn_rate

Definition at line 73 of file rocman.h.

Referenced by print(), read(), and RocmanControl_parameters().

double P_ambient
double pressure

Definition at line 72 of file rocman.h.

Referenced by declare_solid_actions(), print(), read(), and RocmanControl_parameters().

double PROP_fangle

Definition at line 83 of file rocman.h.

Referenced by load_rocprop(), print(), read(), and RocmanControl_parameters().

int PROP_rediter

Definition at line 82 of file rocman.h.

Referenced by load_rocprop(), print(), read(), and RocmanControl_parameters().

char PROPCON_enabled

Definition at line 84 of file rocman.h.

Referenced by load_rocon(), print(), read(), and RocmanControl_parameters().

int PROPCON_ndiv

Definition at line 85 of file rocman.h.

Referenced by load_rocon(), print(), read(), and RocmanControl_parameters().

int remeshed
int rfc_iter

Definition at line 78 of file rocman.h.

Referenced by print(), read(), and RocmanControl_parameters().

int rfc_order

Definition at line 77 of file rocman.h.

Referenced by print(), read(), and RocmanControl_parameters().

double rfc_tol

Definition at line 79 of file rocman.h.

Referenced by print(), read(), and RocmanControl_parameters().

int rfc_verb

Definition at line 76 of file rocman.h.

Referenced by _load_rocface(), print(), read(), and RocmanControl_parameters().

double rhoc

Definition at line 71 of file rocman.h.

Referenced by FluidBurnAlone::FluidBurnAlone(), print(), read(), and RocmanControl_parameters().

int separate_out
int verbose

Definition at line 64 of file rocman.h.

Referenced by print(), read(), and RocmanControl_parameters().


The documentation for this class was generated from the following files: