![]() |
TAPs 0.7.7.3
|
00001 /****************************************************************************** 00002 TAPsCUDA_VertexListModelElasticRod.cu 00003 ******************************************************************************/ 00008 /****************************************************************************** 00009 SUKITTI PUNAK (09/03/2009) 00010 UPDATE (09/17/2009) 00011 ******************************************************************************/ 00012 #ifndef TAPs_CUDA_VERTEX_LIST_MODEL_ELASTIC_ROD_HPP 00013 #define TAPs_CUDA_VERTEX_LIST_MODEL_ELASTIC_ROD_HPP 00014 00015 #include "TAPsCUDA_DataPool.cu" 00016 00017 BEGIN_NAMESPACE_TAPs__CUDA 00018 00019 #define ER_TIMING_ADV_SIM 0 00020 00021 //============================================================================= 00022 // CUDA Initialization and Clear Functions 00023 //----------------------------------------------------------------------------- 00025 bool InitailizeDataForElasticRodModel ( 00026 unsigned int & cudaID, 00027 unsigned int numOfNodes, 00028 float * posList, 00029 float * prevPosList, 00030 float * oriList, 00031 float * prevOriList, 00032 float * intForceList, 00033 float * extForceList 00034 ); 00035 00037 void ClearDataForElasticRodModel ( unsigned int & cudaID ); 00038 //----------------------------------------------------------------------------- 00039 // CUDA Initialization and Clear Functions 00040 //============================================================================= 00041 00042 00043 //============================================================================= 00044 // CUDA Wrapper Functions 00045 //----------------------------------------------------------------------------- 00046 void Global__ModelElasticRod_AdvSim ( 00047 unsigned int cudaID, 00048 unsigned int numOfNodes, 00049 unsigned int numOfThreads, 00050 float currentTime, 00051 float timeStep, 00052 int numOfSubSteps, 00053 float radius, 00054 float length, 00055 float length_ori, 00056 float mass, 00057 float material_density, 00058 //float Kt, //!< kinetic translational constant 00059 //float Kr_x, //!< kinetic rotational constant -- x 00060 //float Kr_y, //!< kinetic rotational constant -- y 00061 //float Kr_z, //!< kinetic rotational constant -- z 00062 //float Dt, //!< translational constant 00063 //float Dr_x, //!< rotational dissipation constant -- x 00064 //float Dr_y, //!< rotational dissipation constant -- y 00065 //float Dr_z, //!< rotational dissipation constant -- z 00066 float Kconstraint_3rdDirAlignTangent, 00067 float Kvdamping, 00068 float Ps, 00069 float Pb_x, 00070 float Pb_y, 00071 float Pb_z, 00072 float * host_pos_data, 00073 float * host_prev_pos_data, 00074 float * host_ori_data, 00075 float * host_prev_ori_data, 00076 float * host_int_force_data, 00077 float * host_ext_force_data 00078 ); 00079 //----------------------------------------------------------------------------- 00080 // CUDA Wrapper Functions 00081 //============================================================================= 00082 END_NAMESPACE_TAPs__CUDA 00083 //----------------------------------------------------------------------------- 00084 #include "TAPsCUDA_VertexListModelElasticRod_Def.cu" 00085 00086 #endif 00087 //34567890123456789012345678901234567890123456789012345678901234567890123456789 00088 //--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----