![]() |
TAPs 0.7.7.3
|
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----+----