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