<div dir="ltr"><div>Hi gmsh,</div><div><br></div><div>I need help plotting multiple timesteps for multiple views at runtime.</div><div><br></div><div>We use the gmsh Onelab gui to launch a team of mpi procs. During a simulation proc[0] manages sendMergeFileRequest() to send solution data to gmsh for plotting.</div><div><br></div><div>All works fine for a single view, e.g. a set of slice-planes. But at each timestep, I'd like to update a second view - say the solution on boundary faces.</div><div><br></div><div>We can do this manually by writing data for each view to files, then in gmsh, </div><div><br></div><div>  1. Open+merge all the field timesteps </div><div>  2. Open+merge all the boundary timesteps </div><div><br></div><div>Question is: how to do this programatically at runtime?</div><div>I'm thinking we could do something like this: </div><div><br></div><div>Initally, </div><div><br></div><div>  - open View[0], load geometry and solution data for first field slice </div><div>  - open View[1], load geometry and solution data for first boundary plot</div><div><br></div><div>then for each timestep, </div><div><br></div><div>  - activate View[0], merge data for next field slice</div><div>  - activate View[1], merge data for next boundary plot</div><div><br></div><div>If this is possible, can someone please help with the syntax? </div><div>Here's the code we currently use for sending each timestep:</div><div><br></div><div>  FILE *fp1 = fopen("PlotView.pos", "w");</div><div><br></div><div>  fprintf(fp1, "View.Visible = 0; \n");</div><div>  fprintf(fp1, "Merge \"%s\";\n", slice_file.c_str());</div><div>  fprintf(fp1, "View.TimeStep++;\n");</div><div>  fprintf(fp1, "View.ShowTime = 1;\n");</div><div>  fprintf(fp1, "Combine Views;\n");</div><div>  fprintf(fp1, "View.Visible = 1;\n");</div><div>  fclose (fp1);</div><div><br></div><div>  m_OLClient->sendMergeFileRequest("PlotView.pos");</div><div><br></div><div>Thanks (hope this makes sense!)</div><div><br></div><div>Nigel</div><div><br></div></div>