PhysicsBasedAnimationToolkit 0.0.10
Cross-platform C++20 library of algorithms and data structures commonly used in computer graphics research on physically-based simulation.
Loading...
Searching...
No Matches
ChebyshevIntegrator.cuh
Go to the documentation of this file.
1
10
11#ifndef PBAT_GPU_IMPL_VBD_CHEBYSHEVINTEGRATOR_CUH
12#define PBAT_GPU_IMPL_VBD_CHEBYSHEVINTEGRATOR_CUH
13
14#include "Integrator.cuh"
15#include "pbat/gpu/impl/common/Buffer.cuh"
16
17namespace pbat::gpu::impl::vbd {
18
23{
24 public:
30 ChebyshevIntegrator(Data const& data);
36 virtual void Solve(kernels::BackwardEulerMinimization& bdf, GpuIndex iterations) override;
43 void UpdateIterates(GpuIndex k, GpuScalar omega);
47 virtual ~ChebyshevIntegrator() = default;
48
49 private:
50 GpuScalar rho;
53};
54
55} // namespace pbat::gpu::impl::vbd
56
57#endif // PBAT_GPU_IMPL_VBD_CHEBYSHEVINTEGRATOR_CUH
Definition Buffer.cuh:21
void UpdateIterates(GpuIndex k, GpuScalar omega)
Update .
Definition ChebyshevIntegrator.cu:38
ChebyshevIntegrator(Data const &data)
Construct a new Chebyshev Integrator object.
Definition ChebyshevIntegrator.cu:16
virtual ~ChebyshevIntegrator()=default
Destroy the Chebyshev Integrator object.
virtual void Solve(kernels::BackwardEulerMinimization &bdf, GpuIndex iterations) override
Solve the optimization problem using the Chebyshev accelerated VBD method.
Definition ChebyshevIntegrator.cu:24
Integrator(Data const &data)
Construct Integrator from data.
Definition Integrator.cu:22
pbat::sim::vbd::Data Data
Data type for VBD.
Definition Integrator.cuh:43
Vertex Block Descent (VBD) algorithms.
Definition AndersonIntegrator.cu:13
float GpuScalar
Scalar type for GPU code.
Definition Aliases.h:19
std::int32_t GpuIndex
Index type for GPU code.
Definition Aliases.h:20
Device-side BFD1 minimization problem.
Definition Kernels.cuh:40
VBD integrator implementation.