PolyFEM
Loading...
Searching...
No Matches
polyfem::solver::PerBody2PerElem Class Reference

#include <Parametrizations.hpp>

Inheritance diagram for polyfem::solver::PerBody2PerElem:
[legend]
Collaboration diagram for polyfem::solver::PerBody2PerElem:
[legend]

Public Member Functions

 PerBody2PerElem (const mesh::Mesh &mesh)
 
int size (const int x_size) const override
 
Eigen::VectorXd eval (const Eigen::VectorXd &x) const override
 
Eigen::VectorXd apply_jacobian (const Eigen::VectorXd &grad, const Eigen::VectorXd &x) const override
 
- Public Member Functions inherited from polyfem::solver::Parametrization
 Parametrization ()
 
virtual ~Parametrization ()
 
virtual Eigen::VectorXd inverse_eval (const Eigen::VectorXd &y)
 

Private Attributes

const mesh::Meshmesh_
 
int full_size_
 
int reduced_size_
 
std::map< int, std::array< int, 2 > > body_id_map_
 

Detailed Description

Definition at line 108 of file Parametrizations.hpp.

Constructor & Destructor Documentation

◆ PerBody2PerElem()

polyfem::solver::PerBody2PerElem::PerBody2PerElem ( const mesh::Mesh mesh)

Definition at line 265 of file Parametrizations.cpp.

References body_id_map_, polyfem::mesh::Mesh::get_body_id(), polyfem::logger(), polyfem::mesh::Mesh::n_elements(), and reduced_size_.

Here is the call graph for this function:

Member Function Documentation

◆ apply_jacobian()

Eigen::VectorXd polyfem::solver::PerBody2PerElem::apply_jacobian ( const Eigen::VectorXd &  grad,
const Eigen::VectorXd &  x 
) const
overridevirtual

Implements polyfem::solver::Parametrization.

Definition at line 302 of file Parametrizations.cpp.

References body_id_map_, full_size_, polyfem::mesh::Mesh::get_body_id(), mesh_, polyfem::mesh::Mesh::n_elements(), reduced_size_, size(), and x.

Here is the call graph for this function:

◆ eval()

Eigen::VectorXd polyfem::solver::PerBody2PerElem::eval ( const Eigen::VectorXd &  x) const
overridevirtual

Implements polyfem::solver::Parametrization.

Definition at line 280 of file Parametrizations.cpp.

References body_id_map_, full_size_, polyfem::mesh::Mesh::get_body_id(), mesh_, polyfem::mesh::Mesh::n_elements(), reduced_size_, size(), x, and y.

Here is the call graph for this function:

◆ size()

int polyfem::solver::PerBody2PerElem::size ( const int  x_size) const
overridevirtual

Implements polyfem::solver::Parametrization.

Definition at line 296 of file Parametrizations.cpp.

References full_size_, and reduced_size_.

Referenced by apply_jacobian(), and eval().

Here is the caller graph for this function:

Member Data Documentation

◆ body_id_map_

std::map<int, std::array<int, 2> > polyfem::solver::PerBody2PerElem::body_id_map_
private

Definition at line 121 of file Parametrizations.hpp.

Referenced by apply_jacobian(), eval(), and PerBody2PerElem().

◆ full_size_

int polyfem::solver::PerBody2PerElem::full_size_
private

Definition at line 119 of file Parametrizations.hpp.

Referenced by apply_jacobian(), eval(), and size().

◆ mesh_

const mesh::Mesh& polyfem::solver::PerBody2PerElem::mesh_
private

Definition at line 118 of file Parametrizations.hpp.

Referenced by apply_jacobian(), and eval().

◆ reduced_size_

int polyfem::solver::PerBody2PerElem::reduced_size_
private

Definition at line 120 of file Parametrizations.hpp.

Referenced by apply_jacobian(), eval(), PerBody2PerElem(), and size().


The documentation for this class was generated from the following files: