init |
read input data and serial mesh |
call FEM_Set() // send data to driver |
|
driver |
//optionally read input data needed by each chunk |
fieldid = FEM_Create_Field() // create mass and force fields |
Main Update Loop |
call FEM_Get() // get data from init/mesh_update |
call FEM_Update_Field(masses) |
Solution loop |
// calculate displacements |
// calculate forces |
call FEM_Update_Field(forces) |
// calculate accelerations |
// calculate velocities |
End Solution loop |
call FEM_Set() // send data to update_mesh |
call FEM_Update_Mesh(timestep,1) // repartition |
call FEM_Get() // get data back from update_mesh |
End Main Update Loop |
|
mesh_update |
call FEM_Set() // get data from each driver |
// dynamic insertion and other mesh manipulations |
call FEM_Set() // send data back to driver |
|
finalize |
close out the program |