9#include <spdlog/spdlog.h>
30 class CheckpointReader;
47 bool strict_validation,
48 bool is_adjoint_optimization =
false);
52 bool strict_validation);
56 bool strict_validation);
61 bool strict_validation,
62 bool is_adjoint_optimization =
false);
65 void set_max_threads(
const int max_threads = std::numeric_limits<int>::max());
86 const std::string &log_file,
87 const spdlog::level::level_enum log_level,
88 const spdlog::level::level_enum file_log_level,
94 void init_logger(std::ostream &os,
const spdlog::level::level_enum log_level);
98 void set_log_level(
const spdlog::level::level_enum log_level);
102 void init_logger(
const std::vector<spdlog::sink_ptr> &sinks,
const spdlog::level::level_enum log_level);
110 void solve(Eigen::MatrixXd &sol);
118 void load_mesh(
bool non_conforming =
false);
125 void set_mesh(GEO::Mesh &meshin,
const std::function<
int(
const size_t,
const std::vector<int> &,
const RowVectorNd &,
bool)> &boundary_marker,
bool non_conforming =
false,
bool skip_boundary_sideset =
false);
131 void set_mesh(
const Eigen::MatrixXd &
V,
const Eigen::MatrixXi &
F,
bool non_conforming =
false);
135 std::optional<std::reference_wrapper<const io::CheckpointReader>>
checkpoint_;
VarForm-only simulation state.
std::shared_ptr< varform::VarForm > variational_formulation
active variational formulation
void init(const json &args, bool strict_validation, bool is_adjoint_optimization=false)
initialize the polyfem solver with a json settings
void solve(Eigen::MatrixXd &sol)
solves the problem, call other methods
void set_mesh(GEO::Mesh &meshin, const std::function< int(const size_t, const std::vector< int > &, const RowVectorNd &, bool)> &boundary_marker, bool non_conforming=false, bool skip_boundary_sideset=false)
loads the mesh from a geogram mesh
void set_max_threads(const int max_threads=std::numeric_limits< int >::max())
std::optional< std::reference_wrapper< const io::CheckpointReader > > checkpoint_
spdlog::sink_ptr file_sink_
spdlog::sink_ptr console_sink_
logger sink to stdout
json args
main input arguments containing all defaults
void set_log_level(const spdlog::level::level_enum log_level)
change log level
std::unique_ptr< const io::ResourceIO > resources_
std::function< void(int, int, double, double)> time_callback
Optional UI progress callback.
void load_mesh(bool non_conforming=false)
loads the mesh from the json arguments
void init_logger(const std::string &log_file, const spdlog::level::level_enum log_level, const spdlog::level::level_enum file_log_level, const bool is_quiet)
initializing the logger
Read-only interface to a hierarchical collection of simulation resources.
Eigen::Matrix< double, 1, Eigen::Dynamic, Eigen::RowMajor, 1, 3 > RowVectorNd