1#ifndef PBAT_SIM_VBD_INTEGRATOR_H
2#define PBAT_SIM_VBD_INTEGRATOR_H
5#include "PhysicsBasedAnimationToolkitExport.h"
18 PBAT_API Integrator(
Data data);
31 PBAT_API
virtual ~Integrator() =
default;
44 Eigen::Ref<MatrixX const>
const& xk,
45 Eigen::Ref<MatrixX const>
const& xtilde,
47 PBAT_API
VectorX ObjectiveFunctionGradient(
48 Eigen::Ref<MatrixX const>
const& xk,
49 Eigen::Ref<MatrixX const>
const& xtilde,
53 PBAT_API
void ExportTrace(
Scalar sdt,
Index substep);
54 PBAT_API
void TryTraceIteration(
Scalar sdt);
57 bool mTraceIterates{
false};
58 std::string mTracePath{
"."};
60 std::vector<Scalar> mTracedObjectives;
61 std::vector<VectorX> mTracedGradients;
62 std::vector<MatrixX> mTracedPositions;
PBAT_API Scalar ObjectiveFunction(Eigen::Ref< MatrixX const > const &xk, Eigen::Ref< MatrixX const > const &xtilde, Scalar dt)
The following methods are made public for debugging purposes (generally).
Definition Integrator.cpp:138
PBAT_API void TraceNextStep(std::string const &path=".", Index t=-1)
Mark next time step for optimization tracing.
Definition Integrator.cpp:47
PBAT's Vertex Block Descent (VBD) anka2024vbd API.
Definition AndersonIntegrator.cpp:10
PBAT simulation algorithms.
The main namespace of the library.
Definition Aliases.h:15
Eigen::Vector< Scalar, Eigen::Dynamic > VectorX
Dynamic-size vector type.
Definition Aliases.h:33
std::ptrdiff_t Index
Index type.
Definition Aliases.h:17
double Scalar
Scalar type.
Definition Aliases.h:18
VBD simulation configuration.
Definition Data.h:15