TAPs 0.7.7.3
TAPsCUDA_DevFns_ModelElasticRod.cu
Go to the documentation of this file.
00001 /******************************************************************************
00002 TAPsCUDA_DevFns_ModelElasticRod.cu
00003 ******************************************************************************/
00008 /******************************************************************************
00009 SUKITTI PUNAK   (09/03/2009)
00010 UPDATE          (09/18/2009)
00011 ******************************************************************************/
00012 #ifndef TAPs_CUDA_DEVICE_FNS_MODEL_ELASTIC_ROD_HPP
00013 #define TAPs_CUDA_DEVICE_FNS_MODEL_ELASTIC_ROD_HPP
00014 
00015 BEGIN_NAMESPACE_TAPs__CUDA
00016 //=============================================================================
00017 // CUDA Device Functions
00018 //-----------------------------------------------------------------------------
00019 
00021 __device__
00022 float3 Device__EulerInt_NewVel_ModelElasticRod (
00023     float3 Force,       
00024     float3 Velocity,    
00025     float mass,         
00026     float  h            
00027 );
00028 
00030 __device__
00031 float3 Device__EulerInt_NewPos_ModelElasticRod (
00032     float3 Velocity,    
00033     float3 Position,    
00034     float  h            
00035 );
00036 
00038 __device__
00039 float4 Device__EulerInt_NewOri_ModelElasticRod (
00040     float k_mdr,        
00041     float l_rest,       
00042     float4 Orientation, 
00043     float4 Torque,      
00044     float  h            
00045 );
00046 
00048 __device__
00049 float3 Device__CalStretchForce_ModelElasticRod ( 
00050     float Ps,       
00051     float Lrest,    
00052     float Lcurr,    
00053     float3 Fdir     
00054 );
00055 
00057 __device__
00058 float4 Device__CalBendTorque_ModelElasticRod ( 
00059     float4 O1,      
00060     float4 O2,      
00061     float3 Pb       
00062 );
00063 
00066 __device__
00067 float3 Device__CalTheConstraintForce_ModelElasticRod (
00068     float3 Cen21,       
00069     float l_Cen21,      
00070     float inv_l_Cen21,  
00071     float4 Ori,         
00072     float l_rest,       
00073     float Kc            
00074 );
00075 
00078 __device__
00079 float4 Device__CalTheConstraintTorque_ModelElasticRod (
00080     float3 Cen21,       
00081     float l_Cen21,      
00082     float inv_l_Cen21,  
00083     float4 Ori,         
00084     float l_rest,       
00085     float Kc            
00086 );
00087 
00089 __device__
00090 float3 Device__CalForce_ModelElasticRod (
00091     int vertexNo,               
00092     unsigned int numOfNodes,    
00093     float4 Pos0,                
00094     float4 Pos1,                
00095     float4 Pos2,                
00096     float4 Ori0,                
00097     float4 Ori1,                
00098     float radius,               
00099     float length,               
00100     float mass,                 
00101     //float Kt,                 //!< kinetic translational constant
00102     //float3 Kr,                //!< kinetic rotational constant -- xyz
00103     //float Dt,                 //!< translational constant
00104     //float3 Dr,                //!< rotational dissipation constant -- xyz
00105     float Kconstraint_3rdDirAlignTangent,   
00106     float Kvdamping,            
00107     float Ps,                   
00108     float3 Pb                   
00109 );
00110 
00112 __device__
00113 float4 Device__CalTorque_ModelElasticRod (
00114     int vertexNo,               
00115     unsigned int numOfNodes,    
00116     float4 Pos1,                
00117     float4 Pos2,                
00118     float4 Ori0,                
00119     float4 Ori1,                
00120     float4 Ori2,                
00121     float radius,               
00122     float length,               
00123     float mass,                 
00124     //float Kt,                 //!< kinetic translational constant
00125     //float3 Kr,                //!< kinetic rotational constant -- xyz
00126     //float Dt,                 //!< translational constant
00127     //float3 Dr,                //!< rotational dissipation constant -- xyz
00128     float Kconstraint_3rdDirAlignTangent,   
00129     float Kvdamping,            
00130     float Ps,                   
00131     float3 Pb                   
00132 );
00133 //-----------------------------------------------------------------------------
00134 // CUDA Device Functions
00135 //=============================================================================
00136 END_NAMESPACE_TAPs__CUDA
00137 //-----------------------------------------------------------------------------
00138 #include "TAPsCUDA_DevFns_ModelElasticRod_Def.cu"
00139 
00140 #endif
00141 //34567890123456789012345678901234567890123456789012345678901234567890123456789
00142 //--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines