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
int TransferLoadsToStructures ( fluidagent fluidAgent,
solidagent solidAgent 
)
inline

Definition at line 176 of file FsiCoupling.H.

References fluidsInterfaceName, structuresInterfaceName, transferAgent, and verblevel.

Referenced by Run(), TestingObject< ResultsType >::Test__SolidAgentRun(), and TestingObject< ResultsType >::Test__TransferLoadsToStructures().

177  {
178  std::stringstream outString;
179  int stride = 0;
180  int cap = 0;
181  double *tractions = NULL;
182  COM_get_array((fluidsInterfaceName+".traction").c_str(),101,&tractions,&stride,&cap);
183  int isize = cap*stride;
184  outString << "Transfering loads to the structures solver." << std::endl;
185  StdOut(outString.str(),2,true);
186  outString.clear();
187  outString.str("");
188 
189  if (verblevel >= 3){
190  outString << "Tractions (driver): " << std::endl;
191  for(int i = 0;i < isize/3;i++)
192  outString << tractions[3*i + 0] << " "
193  << tractions[3*i + 1] << " "
194  << tractions[3*i + 2] << std::endl;
195  StdOut(outString.str(),3,true);
196  outString.clear();
197  outString.str("");
198  }
199 
200  transferAgent->Transfer("traction","Loads",true);
201 
202  //Get loads array from solid solver to check
203  if (verblevel >= 3){
204  int solidLoadStride = 0, solidLoadCap = 0;
205  double *solidLoads = NULL;
206  COM_get_array((structuresInterfaceName+".Loads").c_str(),11,&solidLoads,
207  &solidLoadStride,&solidLoadCap);
208  int solidLoadsize = solidLoadCap*solidLoadStride;
209  outString << "Loads transfered to the solid : " << std::endl;
210  for(int i = 0;i < solidLoadsize;i++){
211  outString << std::setprecision(15) << "solidLoads(" << i << ") = " << solidLoads[i] << std::endl;
212  StdOut(outString.str(),3,true);
213  outString.clear();
214  outString.str("");
215  }
216  }
217  return(0);
218  };
transferagent * transferAgent
Definition: FsiCoupling.H:31
std::string structuresInterfaceName
Definition: FsiCoupling.H:34
std::string fluidsInterfaceName
Definition: FsiCoupling.H:33

Here is the caller graph for this function: