#include <polyfem/Common.hpp>
#include <polyfem/Units.hpp>
#include <polyfem/basis/ElementBases.hpp>
#include <polyfem/basis/InterfaceData.hpp>
#include <polyfem/assembler/ElementAssemblyValues.hpp>
#include <polyfem/assembler/AssemblyValsCache.hpp>
#include <polyfem/assembler/RhsAssembler.hpp>
#include <polyfem/assembler/PressureAssembler.hpp>
#include <polyfem/assembler/MacroStrain.hpp>
#include <polyfem/assembler/Problem.hpp>
#include <polyfem/assembler/Assembler.hpp>
#include <polyfem/assembler/AssemblerUtils.hpp>
#include <polyfem/mesh/Mesh.hpp>
#include <polyfem/mesh/Obstacle.hpp>
#include <polyfem/mesh/MeshNodes.hpp>
#include <polyfem/mesh/LocalBoundary.hpp>
#include <polyfem/solver/SolveData.hpp>
#include <polyfem/utils/StringUtils.hpp>
#include <polyfem/utils/ElasticityUtils.hpp>
#include <polyfem/utils/JSONUtils.hpp>
#include <polyfem/utils/Logger.hpp>
#include <polyfem/utils/Types.hpp>
#include <polyfem/legacy/io/OutData.hpp>
#include <polysolve/linear/Solver.hpp>
#include <Eigen/Dense>
#include <Eigen/Sparse>
#include <spdlog/sinks/basic_file_sink.h>
#include <ipc/collision_mesh.hpp>
#include <ipc/utils/logger.hpp>
#include <memory>
#include <string>
#include <unordered_map>
#include <functional>
#include <cassert>
#include <map>
#include <utility>
#include <vector>
#include <sstream>
#include <algorithm>
#include <cstddef>
Go to the source code of this file.
|
| using | polyfem::legacy::UserPostStepCallback = std::function< void(int step, State &state, const Eigen::MatrixXd &sol, const Eigen::MatrixXd *disp_grad, const Eigen::MatrixXd *pressure)> |
| | User callback at the end of every solver step.
|
| |