PolyFEM
Loading...
Searching...
No Matches
BuildFromJson.hpp
Go to the documentation of this file.
1#pragma once
2
4#include <polyfem/Common.hpp>
5
11
12#include <string>
13#include <memory>
14#include <vector>
15#include <cstddef>
16
17namespace polyfem::from_json
18{
19 // Build a single legacy::State from an in-memory JSON configuration.
20 // This mirrors the initialization done by build_states(), but does not load JSON from disk.
21 std::shared_ptr<legacy::State> build_state(
22 const json &args,
23 const size_t max_threads);
24
25 std::vector<std::shared_ptr<legacy::State>> build_states(
26 const std::string &root_path,
27 const json &args,
28 const size_t max_threads,
29 const json &output_log = json::object());
30
31 std::shared_ptr<solver::Parametrization> build_parametrization(
32 const json &args,
33 const std::vector<std::shared_ptr<legacy::State>> &states,
34 const std::vector<int> &variable_sizes);
35
36 std::shared_ptr<solver::VariableToSimulation> build_variable_to_simulation(
37 const json &args,
38 const std::vector<std::shared_ptr<legacy::State>> &states,
39 const std::vector<std::shared_ptr<DiffCache>> &diff_caches,
40 const std::vector<int> &variable_sizes);
41
42 solver::VariableToSimulationGroup build_variable_to_simulation_group(
43 const json &args,
44 const std::vector<std::shared_ptr<legacy::State>> &states,
45 const std::vector<std::shared_ptr<DiffCache>> &diff_caches,
46 const std::vector<int> &variable_sizes);
47
48 std::shared_ptr<solver::AdjointForm> build_form(
49 const json &args,
50 const solver::VariableToSimulationGroup &var2sim,
51 const std::vector<std::shared_ptr<legacy::State>> &states,
52 const std::vector<std::shared_ptr<DiffCache>> &diff_caches);
53
54} // namespace polyfem::from_json
std::vector< std::shared_ptr< legacy::State > > build_states(const std::string &root_path, const json &args, const size_t max_threads, const json &output_log)
std::shared_ptr< solver::Parametrization > build_parametrization(const json &args, const std::vector< std::shared_ptr< legacy::State > > &states, const std::vector< int > &variable_sizes)
solver::VariableToSimulationGroup build_variable_to_simulation_group(const json &args, const std::vector< std::shared_ptr< legacy::State > > &states, const std::vector< std::shared_ptr< DiffCache > > &diff_caches, const std::vector< int > &variable_sizes)
std::shared_ptr< solver::VariableToSimulation > build_variable_to_simulation(const json &args, const std::vector< std::shared_ptr< legacy::State > > &states, const std::vector< std::shared_ptr< DiffCache > > &diff_caches, const std::vector< int > &variable_sizes)
std::shared_ptr< legacy::State > build_state(const json &args, const size_t max_threads)
std::shared_ptr< solver::AdjointForm > build_form(const json &args, const solver::VariableToSimulationGroup &var2sim, const std::vector< std::shared_ptr< legacy::State > > &states, const std::vector< std::shared_ptr< DiffCache > > &diff_caches)
nlohmann::json json
Definition Common.hpp:9