ElmerFoamFSI  2.0
ElmerFoamFSI is fluid-solid interaction simulation application built up from OpenFOAM CFD and Elmer CSM coupled through the IMPACT multiphysics software integration infrastructure.
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros Groups Pages
void Load ( const std::string &  name)
static

"Loads" IcoFoamModule

"Loads" parallel openFoam solver module

Register module with COM

Register functions

Definition at line 3137 of file fsiFOAM.C.

3137  {
3138  std::cout << "FsiFoam:Load: Loading FsiFoamModule with name " << name
3139  << "." << std::endl;
3140 
3142  fsifoam_module *module_pointer = new fsifoam_module();
3143  COM_new_window(name, MPI_COMM_NULL);
3144  module_pointer->my_window_name = name;
3145  std::string global_name(name+".global");
3146  COM_new_dataitem(global_name.c_str(),'w',COM_VOID,1,"");
3147  COM_set_object(global_name.c_str(),0,module_pointer);
3148 
3149 
3151  std::vector<COM_Type> types(13,COM_INT);
3152 
3153  types[0] = COM_RAWDATA;
3154  types[2] = COM_VOID;
3155  COM_set_member_function( (name+".InitFoam").c_str(),
3156  (Member_func_ptr)(&fsifoam_module::InitFoam),
3157  global_name.c_str(), "biii", &types[0]);
3158 
3159  COM_set_member_function( (name+".RunFoam").c_str(),
3160  (Member_func_ptr)(&fsifoam_module::RunFoam),
3161  global_name.c_str(), "b", &types[0]);
3162 
3163 
3164  COM_set_member_function( (name+".StepFoam").c_str(),
3165  (Member_func_ptr)(&fsifoam_module::StepFoam),
3166  global_name.c_str(), "b", &types[0]);
3167 
3168  COM_set_member_function( (name+".StepFluid").c_str(),
3169  (Member_func_ptr)(&fsifoam_module::StepFluid),
3170  global_name.c_str(), "b", &types[0]);
3171 
3172 /*
3173  types[1] = COM_DOUBLE;
3174  COM_set_member_function( (name+".ModifyEndTime").c_str(),
3175  (Member_func_ptr)(&fsifoam_module::ModifyEndTime),
3176  global_name.c_str(), "bi", &types[0]);
3177 */
3178 
3179 
3180  COM_window_init_done(name);
3181 }
void StepFoam()
the OpenFOAM stepping
Definition: fsiFOAM.C:3297
void InitFoam(int *pargc, void **pargv, int *verbIn)
function to register through IMPACT
Definition: fsiFOAM.C:3184
void RunFoam()
the OpenFOAM main
Definition: fsiFOAM.C:3271
std::string my_window_name
Definition: fsiFOAM.H:41
void StepFluid()
the OpenFOAM stepping fluid alone
Definition: fsiFOAM.C:3344