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

Byn Choi bynchoi1 at illinois.edu
Tue Feb 8 18:03:01 EST 2011


I don't know much about facesim, but just a general suggestion: you  
can run it under gdb, set a breakpoint on the call site, and step into  
((gdb) step) it to see where it leads to, which could be a faster way  
to dig around the code base. Make sure to compile with -O0 -g -ggdb  
and set the source path accordingly (which may not require manual  
intervention) so that gdb can match the source code (then you can use  
"list" command to see where you are in the source).

---
Byn Choi
Ph.D. Candidate in Computer Science
University of Illinois, Urbana-Champaign

On Feb 8, 2011, at 4:54 PM, Joseph Greathouse wrote:

> 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_To_Target_Time().
>
> 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'.
>
> -Joe
> -- 
> Joseph Lee Greathouse
> Ph.D. Candidate
> Electrical Engineering and Computer Science, University of Michigan
> _______________________________________________
> parsec-users mailing list
> parsec-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/parsec-users



More information about the parsec-users mailing list