Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Rocout/test/param_test.C File Reference
#include "Rocin.h"
#include "Rocout.h"
#include "Roccom_base.h"
#include "roccom.h"
#include "roccom_devel.h"
#include <iostream>
#include <cstring>
#include <string>
Include dependency graph for Rocout/test/param_test.C:

Go to the source code of this file.

Macros

#define WINDOW_EXISTS   0
 A test program that reads in a given parameter file using Rocin and writes out the resulting parameter window into a new parameter file using Rocout. More...
 

Functions

 COM_EXTERN_MODULE (Rocin)
 
 COM_EXTERN_MODULE (Rocout)
 
int main (int argc, char *argv[])
 

Macro Definition Documentation

#define WINDOW_EXISTS   0

A test program that reads in a given parameter file using Rocin and writes out the resulting parameter window into a new parameter file using Rocout.

Definition at line 63 of file Rocout/test/param_test.C.

Referenced by main().

Function Documentation

COM_EXTERN_MODULE ( Rocin  )
COM_EXTERN_MODULE ( Rocout  )
int main ( int  argc,
char *  argv[] 
)

Definition at line 80 of file Rocout/test/param_test.C.

References COM_call_function(), COM_CHAR, COM_finalize(), COM_get_function_handle(), COM_init(), COM_INT, COM_LOAD_MODULE_STATIC_DYNAMIC, COM_new_attribute(), COM_new_window(), COM_print_profile(), COM_resize_array(), COM_set_profiling(), COM_set_size(), COM_window_init_done(), and WINDOW_EXISTS.

80  {
81  COM_init( &argc, &argv);
82 
83  if ( argc < 3 || argc > 3 ) {
84  std::cout << "Usage: To test in serial: \n\t" << argv[0]
85  << " <parameter file in> <parameter file out>\n"
86  << std::endl;
87  exit(-1);
88  }
89 
90  const char *FILE_in = argv[1];
91  const char *FILE_out = argv[2];
92  const string winname("parameters");
93  //const string winname(argv[2]);
94 
96  //COM_set_verbose(10);
97 
100  int IN_param = COM_get_function_handle( "IN.read_parameter_file");
101  int OUT_param = COM_get_function_handle( "OUT.write_parameter_file");
102 
103  //===== Add some non parameter formatted attributes to the window
104  // a parameter formatted attribute is a windowed COM_CHAR attribute
105  // with 1 component
106  void* addr;
107 
108  if(WINDOW_EXISTS){
109  COM_new_window(winname.c_str());
110  COM_new_attribute( (winname+"."+"burnrate").c_str(),'w',COM_CHAR,1,"");
111  COM_set_size( (winname+"."+"burnrate").c_str(),0,6,0);
112  COM_resize_array( (winname+"."+"burnrate").c_str(),0,&addr);
113  ((char*&)addr) = "three";
114 
115  COM_new_attribute( (winname+"."+"notwindowed").c_str(),'p',COM_CHAR,1,"");
116  COM_set_size( (winname+"."+"notwindowed").c_str(),0,12,0);
117  COM_resize_array( (winname+"."+"notwindowed").c_str(),0,&addr);
118  ((char*&)addr) = "notwindowed";
119 
120  COM_new_attribute( (winname+"."+"wrongtype").c_str(),'w',COM_INT,1,"");
121  COM_set_size( (winname+"."+"wrongtype").c_str(),0,1,0);
122  COM_resize_array( (winname+"."+"wrongtype").c_str(),0,&addr);
123  ((int*&)addr)[1] = 1;
124 
125  COM_new_attribute( (winname+"."+"toomanycomps").c_str(),'w',COM_CHAR,2,"");
126  COM_set_size( (winname+"."+"toomanycomps").c_str(),0,13,0);
127  COM_resize_array( (winname+"."+"toomanycomps").c_str(),0,&addr);
128  ((char*&)addr) = "toomanycomps";
129 
130  COM_window_init_done(winname.c_str());
131  }
132 
133  //===== Read in parameter file using Rocin
134  COM_call_function(IN_param, FILE_in, (winname).c_str());
135 
136  //===== Write out using Rocout
137  COM_call_function( OUT_param, FILE_out, (winname).c_str());
138 
139  COM_print_profile("", "");
140  COM_finalize();
141 }
void COM_set_size(const char *wa_str, int pane_id, int size, int ng=0)
Set sizes of for a specific attribute.
Definition: roccom_c++.h:136
C/C++ Data types.
Definition: roccom_basic.h:129
void COM_finalize()
Definition: roccom_c++.h:59
void COM_print_profile(const char *fname, const char *header)
Definition: roccom_c++.h:557
Definition: Rocin.h:64
Definition: Rocout.h:81
void COM_window_init_done(const char *w_str, int pane_changed=true)
Definition: roccom_c++.h:102
#define WINDOW_EXISTS
A test program that reads in a given parameter file using Rocin and writes out the resulting paramete...
void COM_new_window(const char *wname, MPI_Comm c=MPI_COMM_NULL)
Definition: roccom_c++.h:86
void COM_set_profiling(int i)
Definition: roccom_c++.h:550
void COM_call_function(const int wf, int argc,...)
Definition: roccom_c.C:48
void COM_init(int *argc, char ***argv)
Definition: roccom_c++.h:57
void COM_new_attribute(const char *wa_str, const char loc, const int type, int ncomp, const char *unit)
Registering an attribute type.
Definition: roccom_c++.h:118
#define COM_LOAD_MODULE_STATIC_DYNAMIC(moduleName, windowString)
Definition: roccom_basic.h:111
void COM_resize_array(const char *wa_str, int pane_id=0, void **addr=NULL, int strd=-1, int cap=0)
Resize an attribute on a specific pane and return the address by setting addr.
Definition: roccom_c++.h:200
int COM_get_function_handle(const char *wfname)
Definition: roccom_c++.h:428

Here is the call graph for this function: