#include <GAS_ParticleForces.h>

Definition at line 38 of file GAS_ParticleForces.h.
| GAS_ParticleForces::GAS_ParticleForces | ( | const SIM_DataFactory * | factory | ) | [explicit, protected] |
| virtual GAS_ParticleForces::~GAS_ParticleForces | ( | ) | [protected, virtual] |
| int GAS_ParticleForces::adjustContactDisplacement | ( | SIM_Object * | obj, | |
| GU_Detail * | gdp, | |||
| const UT_RefArray< GAS_GrainObject > & | grains, | |||
| SIM_Time | timestep | |||
| ) | [protected] |
| void GAS_ParticleForces::applyStiction | ( | UT_Vector3 & | totalforce, | |
| UT_Vector3 & | totaltorque, | |||
| const UT_Vector3 | v1, | |||
| const UT_Vector3 | w1, | |||
| const UT_Vector3 | c1, | |||
| const UT_Vector3 | N, | |||
| fpreal | pscale, | |||
| fpreal | pmass, | |||
| fpreal | kv, | |||
| fpreal | kw, | |||
| fpreal | dt | |||
| ) | [protected] |
| UT_HashGrid<const GAS_GrainSphere *>* GAS_ParticleForces::buildHashGrid | ( | const UT_RefArray< GAS_GrainObject > & | grains | ) | [protected] |
| void GAS_ParticleForces::calcForces | ( | SIM_Engine & | engine, | |
| SIM_Object * | obj, | |||
| GU_Detail * | gdp, | |||
| const UT_RefArray< GAS_GrainObject > & | grains, | |||
| SIM_Time | time, | |||
| SIM_Time | timestep | |||
| ) | [protected] |
| UT_Vector3 GAS_ParticleForces::computeRepulsiveForce | ( | const UT_Vector3 & | p, | |
| fpreal | overlap, | |||
| const UT_Vector3 & | nml, | |||
| const UT_Vector3 & | relvel, | |||
| fpreal | R, | |||
| fpreal | mass, | |||
| fpreal | beta, | |||
| fpreal | kr, | |||
| fpreal | alpha, | |||
| fpreal | kd, | |||
| fpreal | nu, | |||
| fpreal | bounce, | |||
| fpreal | mu_s, | |||
| fpreal | mu_d, | |||
| fpreal | dt | |||
| ) | const [protected] |
Compute the repulsive force between two particles. p is the point of impact, nml the normalized normal of the impact and relvel the relative velocity at the point of impact.
| UT_Vector3 GAS_ParticleForces::computeRepulsiveForcePP | ( | const UT_Vector3 & | p, | |
| fpreal | overlap, | |||
| const UT_Vector3 & | nml, | |||
| const UT_Vector3 & | relvel, | |||
| fpreal | R, | |||
| fpreal | pmass, | |||
| fpreal | beta, | |||
| fpreal | kr, | |||
| fpreal | alpha, | |||
| fpreal | kd, | |||
| fpreal | nu, | |||
| fpreal | gamma, | |||
| fpreal | bounce, | |||
| fpreal | mu_s, | |||
| fpreal | mu_d, | |||
| fpreal | kc, | |||
| SIM_Time | timestep, | |||
| UT_Vector3 & | shearD | |||
| ) | const [protected] |
| UT_Vector3 GAS_ParticleForces::computeRepulsiveTorque | ( | const UT_Vector3 & | z, | |
| const UT_Vector3 & | c1, | |||
| const UT_Vector3 & | force, | |||
| const UT_Vector3 & | nml, | |||
| const UT_Vector3 & | angvel, | |||
| fpreal | pscale, | |||
| fpreal | pmass, | |||
| fpreal | mu_r | |||
| ) | const [protected] |
| void GAS_ParticleForces::createGrainObjects | ( | SIM_Object * | obj, | |
| GU_Detail * | gdp, | |||
| UT_RefArray< GAS_GrainObject > & | grains | |||
| ) | [protected] |
| GAS_ParticleForces::GET_DATA_FUNC_B | ( | "usegeovelocity" | , | |
| UseGEOVelocity | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_B | ( | "usesdfvelocity" | , | |
| UseSDFVelocity | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_B | ( | "docollision" | , | |
| DoCollisions | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_B | ( | "computev" | , | |
| ComputeVelocity | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_B | ( | "dopressure" | , | |
| DoPressure | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_F | ( | "minbounce" | , | |
| MinBounce | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_F | ( | "objrollingimpulsefactor" | , | |
| ObjRollingImpulseFactor | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_F | ( | "objtranslationimpulsefactor" | , | |
| ObjTranslationImpulseFactor | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_F | ( | "objimpulseduration" | , | |
| ObjImpulseDuration | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_F | ( | "objrollingfriction" | , | |
| ObjRollingFriction | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_F | ( | "rollingfriction" | , | |
| RollingFriction | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_F | ( | "contactdampening" | , | |
| ContactDampening | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_F | ( | "contactresistance" | , | |
| ContactResistance | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_F | ( | "dampeningstrength" | , | |
| DampeningStrength | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_F | ( | "viscousdampening" | , | |
| ViscousDampening | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_F | ( | "repulsionstrength" | , | |
| RepulsionStrength | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_F | ( | "elasticrepulsion" | , | |
| ElasticRepulsion | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_F | ( | "poissonratio" | , | |
| PoissonRatio | ||||
| ) |
| GAS_ParticleForces::GET_DATA_FUNC_S | ( | GAS_NAME_GEOMETRY | , | |
| GeometryName | ||||
| ) |
| UT_Vector3 GAS_ParticleForces::getContactDisplacement | ( | GEO_AttributeHandle & | cg_gah, | |
| GEO_AttributeHandle & | csj_gah, | |||
| GEO_AttributeHandle & | csk_gah, | |||
| GEO_AttributeHandle & | cd_gah, | |||
| int | cs1, | |||
| int | cg2, | |||
| int | cs2 | |||
| ) | const [protected] |
| virtual bool GAS_ParticleForces::postSolveGasSubclass | ( | SIM_Engine & | engine, | |
| SIM_Object * | obj, | |||
| SIM_Time | time, | |||
| SIM_Time | timestep | |||
| ) | [protected, virtual] |
Reimplemented from GAS_SubSolver.
| void GAS_ParticleForces::resizeContactGrainAttributes | ( | GU_Detail * | gdp, | |
| int | initialsize, | |||
| int | finalsize | |||
| ) | const [protected] |
| void GAS_ParticleForces::setContactDisplacement | ( | GEO_AttributeHandle & | cg_gah, | |
| GEO_AttributeHandle & | csj_gah, | |||
| GEO_AttributeHandle & | csk_gah, | |||
| GEO_AttributeHandle & | cd_gah, | |||
| vector< int > | cg, | |||
| vector< int > | csj, | |||
| vector< int > | csk, | |||
| vector< UT_Vector3 > | sd | |||
| ) | const [protected] |
| bool GAS_ParticleForces::shouldMultiThread | ( | ) | [inline] |
Definition at line 63 of file GAS_ParticleForces.h.
| virtual bool GAS_ParticleForces::solveGasSubclass | ( | SIM_Engine & | engine, | |
| SIM_Object * | obj, | |||
| SIM_Time | time, | |||
| SIM_Time | timestep | |||
| ) | [protected, virtual] |
Computes a pressure force for the given particle field and either adjusts the velocity directly, or just adds to the force variable.
Implements GAS_SubSolver.
| void GAS_ParticleForces::updateContactDisplacement | ( | SIM_Object * | obj, | |
| GU_Detail * | gdp, | |||
| const UT_RefArray< GAS_GrainObject > & | grains, | |||
| SIM_Time | timestep | |||
| ) | [protected] |
1.5.9