PolyFEM
Loading...
Searching...
No Matches
StateDiff.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <polyfem/State.hpp>
6
7#include <Eigen/Core>
8#include <vector>
9
10namespace polyfem
11{
12 // Solves the adjoint PDE for derivatives and caches
13 void solve_adjoint_cached(const State &state, DiffCache &diff_cache, const Eigen::MatrixXd &rhs);
14
15 // Returns cached adjoint solve
16 Eigen::MatrixXd get_adjoint_mat(const State &state, const DiffCache &diff_cache, int type);
17
18 // Get geometric node indices for surface/volume
19 void compute_surface_node_ids(const State &state, const int surface_selection, std::vector<int> &node_ids);
20 void compute_total_surface_node_ids(const State &state, std::vector<int> &node_ids);
21 void compute_volume_node_ids(const State &state, const int volume_selection, std::vector<int> &node_ids);
22} // namespace polyfem
void compute_volume_node_ids(const State &state, const int volume_selection, std::vector< int > &node_ids)
void compute_surface_node_ids(const State &state, const int surface_selection, std::vector< int > &node_ids)
Eigen::MatrixXd get_adjoint_mat(const State &state, const DiffCache &diff_cache, int type)
Get adjoint parameter nu or p.
void compute_total_surface_node_ids(const State &state, std::vector< int > &node_ids)
void solve_adjoint_cached(const State &state, DiffCache &diff_cache, const Eigen::MatrixXd &rhs)