PolyFEM
Loading...
Searching...
No Matches
WeightedVolumeForm.hpp
Go to the documentation of this file.
1#pragma once
2
5
6namespace polyfem::solver
7{
10 {
11 public:
12 WeightedVolumeForm(CompositeParametrization &&parametrizations, const State &state)
13 : ParametrizationForm(std::move(parametrizations)), state_(state)
14 {
15 }
16
17 protected:
19 double value_unweighted_with_param(const Eigen::VectorXd &x) const override;
20
22 void compute_partial_gradient_with_param(const Eigen::VectorXd &x, Eigen::VectorXd &gradv) const override;
23
24 private:
25 const State &state_;
26 };
27} // namespace polyfem::solver
int x
main class that contains the polyfem solver and all its state
Definition State.hpp:79
Computes the dot product of the input x (after parametrization) and the volume of each element on the...
WeightedVolumeForm(CompositeParametrization &&parametrizations, const State &state)
void compute_partial_gradient_with_param(const Eigen::VectorXd &x, Eigen::VectorXd &gradv) const override
Computes the gradient of this form wrt. x, assuming that the volume of elements doesn't depend on x.
double value_unweighted_with_param(const Eigen::VectorXd &x) const override