[parsec-users] Question about facesim -- understanding where Advance_One_Time_Step() is implemented

Joseph Greathouse jlgreath at umich.edu
Tue Feb 8 17:54:13 EST 2011

On 2/8/2011 4:49 PM, Matt Sinclair wrote:
> Hi everyone,
> I'm trying to understand how facesim works, specifically how
> Advance_One_Time_Step() works, since it seems like that is an
> important part of the ROI region.  However, I'm unable to find where
> this function is actually implemented.  I followed facesim down to
> SOLIDS_EVOLUTION_3D.cpp, line 128, where Advance_One_Time_Step() is
> called (by a RIGID_BODY_EVOLUTION_3D object).  However, when I look at
> the implementation of Advance_One_Time_Step() in
> RIGID_BODY_EVOLUTION_3D, it says that it's not implemented.
> Additionally, the other place I found that implements
> Advance_One_Time_Step(), DEFORMABLE_OBJECT_3D, also says it isn't
> implemented.  So, does Advance_One_Time_Step() not do anything?  Is it
> implemented somewhere else that I'm not finding?

Are you sure you're not following the wrong codepath?

In the function SOLIDS_EVOLUTION_3D.cpp:Advance_To_Target_Time(), you 
may have skipped over "if(!rigid_body_parameters.simulate)".  The 
program follows the then path from this check, as 'simulate' defaults to 
false for rigid body parameters (see RIGID_BODY_PARAMETERS.h line 37).

In that case, you should never reach line 128.  You will instead call 
Advance_Deformable_Bodies_To_Target_Time() and then return from 

Advance_Deformable_Bodies_To_Target_Time() will eventually call 
Advance_Deformable_Objects_In_Time(), which (because 'quasistatic' is 
true) will call Advance_One_Time_Step_Qusistatic() on the 'list' members 
of 'deformable_body_parameters'.

Joseph Lee Greathouse
Ph.D. Candidate
Electrical Engineering and Computer Science, University of Michigan

More information about the parsec-users mailing list