|
| CHAOS_API | FNewtonEvolution (FSolverParticles &&InParticles, FSolverCollisionParticles &&InGeometryParticles, TArray< TVec3< int32 > > &&CollisionTriangles, const TArray< TVector< int32, 4 > > &InMesh, TArray< TArray< TVector< int32, 2 > > > &&InIncidentElements, int32 NumNewtonIterations=5, int32 NumCGIterations=20, const TArray< int32 > &ConstrainedVertices=TArray< int32 >(), const TArray< FSolverVec3 > &BCPositions=TArray< FSolverVec3 >(), FSolverReal CollisionThickness=(FSolverReal) 0., FSolverReal SelfCollisionsThickness=(FSolverReal) 0., FSolverReal CoefficientOfFriction=(FSolverReal) 0., FSolverReal Damping=(FSolverReal) 0.04, FSolverReal LocalDamping=(FSolverReal) 0., FSolverReal EMesh=(FSolverReal) 1000., FSolverReal NuMesh=(FSolverReal).3, FSolverReal NewtonTol=(FSolverReal) 1e-6, FSolverReal CGTolIn=(FSolverReal) 1e-8, bool bWriteDebugInfoIn=true) |
| |
| | ~FNewtonEvolution () |
| |
| CHAOS_API void | AdvanceOneTimeStep (const FSolverReal Dt, const bool bSmoothDt=true) |
| |
| CHAOS_API void | ResetParticles () |
| |
| CHAOS_API int32 | AddParticleRange (int32 NumParticles, uint32 GroupId, bool bActivate) |
| |
| int32 | GetParticleRangeSize (int32 Offset) const |
| |
| void | ActivateParticleRange (int32 Offset, bool bActivate) |
| |
| const FSolverParticles & | Particles () const |
| |
| FSolverParticles & | Particles () |
| |
| const TPBDActiveView< FSolverParticles > & | ParticlesActiveView () |
| |
| TArray< TArray< TVector< int32, 2 > > > & | IncidentElements () |
| |
| const TArray< uint32 > & | ParticleGroupIds () const |
| |
| CHAOS_API void | ResetCollisionParticles (int32 NumParticles=0) |
| |
| CHAOS_API int32 | AddCollisionParticleRange (int32 NumParticles, uint32 GroupId, bool bActivate) |
| |
| void | ActivateCollisionParticleRange (int32 Offset, bool bActivate) |
| |
| int32 | GetCollisionParticleRangeSize (int32 Offset) const |
| |
| const FSolverCollisionParticles & | CollisionParticles () const |
| |
| FSolverCollisionParticles & | CollisionParticles () |
| |
| const TArray< uint32 > & | CollisionParticleGroupIds () const |
| |
| const TPBDActiveView< FSolverCollisionParticles > & | CollisionParticlesActiveView () |
| |
| void | ResetConstraintRules () |
| |
| CHAOS_API int32 | AddConstraintInitRange (int32 NumConstraints, bool bActivate) |
| |
| CHAOS_API int32 | AddConstraintRuleRange (int32 NumConstraints, bool bActivate) |
| |
| CHAOS_API int32 | AddPostCollisionConstraintRuleRange (int32 NumConstraints, bool bActivate) |
| |
| int32 | GetConstraintInitRangeSize (int32 Offset) const |
| |
| int32 | GetConstraintRuleRangeSize (int32 Offset) const |
| |
| int32 | GetPostCollisionConstraintRuleRangeSize (int32 Offset) const |
| |
| void | ActivateConstraintInitRange (int32 Offset, bool bActivate) |
| |
| void | ActivateConstraintRuleRange (int32 Offset, bool bActivate) |
| |
| void | ActivatePostCollisionConstraintRuleRange (int32 Offset, bool bActivate) |
| |
| const TArray< TFunction< void(FSolverParticles &, const FSolverReal)> > & | ConstraintInits () const |
| |
| TArray< TFunction< void(FSolverParticles &, const FSolverReal)> > & | ConstraintInits () |
| |
| const TArray< TFunction< void(FSolverParticles &, const FSolverReal)> > & | ConstraintRules () const |
| |
| TArray< TFunction< void(FSolverParticles &, const FSolverReal)> > & | ConstraintRules () |
| |
| const TArray< TFunction< void(FSolverParticles &, const FSolverReal)> > & | PostCollisionConstraintRules () const |
| |
| TArray< TFunction< void(FSolverParticles &, const FSolverReal)> > & | PostCollisionConstraintRules () |
| |
| void | SetKinematicUpdateFunction (TFunction< void(FSolverParticles &, const FSolverReal, const FSolverReal, const int32)> KinematicUpdate) |
| |
| void | SetCollisionKinematicUpdateFunction (TFunction< void(FSolverCollisionParticles &, const FSolverReal, const FSolverReal, const int32)> KinematicUpdate) |
| |
| TFunction< void(FSolverParticles &, const FSolverReal, const int32)> & | GetForceFunction (const uint32 GroupId=0) |
| |
| const TFunction< void(FSolverParticles &, const FSolverReal, const int32)> & | GetForceFunction (const uint32 GroupId=0) const |
| |
| const FSolverVec3 & | GetGravity (const uint32 GroupId=0) const |
| |
| void | SetGravity (const FSolverVec3 &Acceleration, const uint32 GroupId=0) |
| |
| FVelocityAndPressureField & | GetVelocityAndPressureField (const uint32 GroupId=0) |
| |
| const FVelocityAndPressureField & | GetVelocityAndPressureField (const uint32 GroupId=0) const |
| |
| int32 | GetNewtonIterations () const |
| |
| void | SetNewtonIterations (const int32 Iterations) |
| |
| FSolverReal | GetCollisionThickness (const uint32 GroupId=0) const |
| |
| void | SetCollisionThickness (const FSolverReal CollisionThickness, const uint32 GroupId=0) |
| |
| FSolverReal | GetCoefficientOfFriction (const uint32 GroupId=0) const |
| |
| void | SetCoefficientOfFriction (const FSolverReal CoefficientOfFriction, const uint32 GroupId=0) |
| |
| FSolverReal | GetDamping (const uint32 GroupId=0) const |
| |
| void | SetDamping (const FSolverReal Damping, const uint32 GroupId=0) |
| |
| FSolverReal | GetLocalDamping (const uint32 GroupId=0) const |
| |
| void | SetLocalDamping (const FSolverReal LocalDamping, const uint32 GroupId=0) |
| |
| bool | GetUseCCD (const uint32 GroupId=0) const |
| |
| void | SetUseCCD (const bool bUseCCD, const uint32 GroupId=0) |
| |
| const bool | Collided (int32 index) |
| |
| const TArray< bool > & | GetCollisionStatus () |
| |
| const TArray< FSolverVec3 > & | GetCollisionContacts () const |
| |
| const TArray< FSolverVec3 > & | GetCollisionNormals () const |
| |
| FSolverReal | GetTime () const |
| |
| template<typename Func1 , typename Func2 > |
| void | ComputeNegativeBackwardEulerResidual (const FSolverParticles &InParticles, const TArray< TArray< TVector< int32, 2 > > > &IncidentElements, const TArray< FSolverReal > &NodalMass, const TArray< FSolverVec3 > &Vn, const FSolverParticles &Xn, Func1 P, Func2 AddExternalForce, const FSolverReal Time, const FSolverReal Dt, TArray< FSolverVec3 > &Residual) |
| |
| template<typename Func1 , typename Func2 , typename Func3 , typename Func4 , typename Func5 , typename Func6 > |
| void | DoNewtonStep (const int32 max_it_newton, const FSolverReal newton_tol, const int32 max_it_cg, const FSolverReal cg_tol, Func1 P, Func2 dP, const FSolverReal time, const FSolverReal dt, const TArray< TArray< TVector< int32, 2 > > > &incident_elements, const TArray< FSolverReal > &nodal_mass, Func3 set_bcs, Func4 project_bcs, Func5 add_external_force, Func6 update_position_based_state, FSolverParticles &InParticles, TArray< FSolverReal > &residual_norm, bool use_cg=false, FSolverReal cg_prctg_reduce=0, bool no_verbose=false) |
| |
| CHAOS_API void | InitFEM () |
| |
| CHAOS_API void | WriteOutputLog (const int32 Frame) |
| |
| | TArrayCollection () |
| |
| | TArrayCollection (const TArrayCollection &Other)=delete |
| |
| | TArrayCollection (TArrayCollection &&Other)=delete |
| |
| virtual | ~TArrayCollection () |
| |
| void | ShrinkArrays (const float MaxSlackFraction, const int32 MinSlack) |
| |
| int32 | AddArray (TArrayCollectionArrayBase *Array) |
| |
| void | RemoveArray (TArrayCollectionArrayBase *Array) |
| |
| void | RemoveAt (int32 Index, int32 Count) |
| |
| uint32 | Size () const |
| |
| uint64 | ComputeColumnSize () const |
| |