PolyFEM
|
#include <PeriodicBoundary.hpp>
Public Member Functions | |
PeriodicBoundary (const bool is_scalar, const int n_bases, const std::vector< basis::ElementBases > &bases, const std::shared_ptr< mesh::MeshNodes > &mesh_nodes, const Eigen::MatrixXd &affine_matrix, const double tol) | |
int | full_to_periodic (StiffnessMatrix &A) const |
Eigen::MatrixXd | full_to_periodic (const Eigen::MatrixXd &b, bool accumulate) const |
std::vector< int > | full_to_periodic (const std::vector< int > &boundary_nodes) const |
int | n_periodic_dof () const |
bool | is_periodic_dof (const int idx) const |
Eigen::MatrixXd | periodic_to_full (const int ndofs, const Eigen::MatrixXd &x_periodic) const |
bool | all_direction_periodic () const |
bool | has_periodic_bc () const |
Eigen::MatrixXd | get_affine_matrix () const |
Private Attributes | |
int | problem_dim_ |
Eigen::VectorXi | full_to_periodic_map_ |
Eigen::VectorXi | periodic_mask_ |
Eigen::MatrixXd | affine_matrix_ |
Definition at line 25 of file PeriodicBoundary.hpp.
polyfem::utils::PeriodicBoundary::PeriodicBoundary | ( | const bool | is_scalar, |
const int | n_bases, | ||
const std::vector< basis::ElementBases > & | bases, | ||
const std::shared_ptr< mesh::MeshNodes > & | mesh_nodes, | ||
const Eigen::MatrixXd & | affine_matrix, | ||
const double | tol | ||
) |
Definition at line 23 of file PeriodicBoundary.cpp.
References affine_matrix_, full_to_periodic_map_, polyfem::log_and_throw_error(), periodic_mask_, problem_dim_, and V.
bool polyfem::utils::PeriodicBoundary::all_direction_periodic | ( | ) | const |
Definition at line 207 of file PeriodicBoundary.cpp.
Eigen::MatrixXd polyfem::utils::PeriodicBoundary::full_to_periodic | ( | const Eigen::MatrixXd & | b, |
bool | accumulate | ||
) | const |
Definition at line 149 of file PeriodicBoundary.cpp.
References full_to_periodic_map_.
std::vector< int > polyfem::utils::PeriodicBoundary::full_to_periodic | ( | const std::vector< int > & | boundary_nodes | ) | const |
Definition at line 173 of file PeriodicBoundary.cpp.
References full_to_periodic_map_, and has_periodic_bc().
int polyfem::utils::PeriodicBoundary::full_to_periodic | ( | StiffnessMatrix & | A | ) | const |
Definition at line 121 of file PeriodicBoundary.cpp.
References entries, and full_to_periodic_map_.
|
inline |
Definition at line 48 of file PeriodicBoundary.hpp.
References affine_matrix_.
bool polyfem::utils::PeriodicBoundary::has_periodic_bc | ( | ) | const |
Definition at line 211 of file PeriodicBoundary.cpp.
Referenced by full_to_periodic().
|
inline |
Definition at line 41 of file PeriodicBoundary.hpp.
References periodic_mask_.
|
inline |
Definition at line 40 of file PeriodicBoundary.hpp.
References full_to_periodic_map_.
Eigen::MatrixXd polyfem::utils::PeriodicBoundary::periodic_to_full | ( | const int | ndofs, |
const Eigen::MatrixXd & | x_periodic | ||
) | const |
Definition at line 188 of file PeriodicBoundary.cpp.
References full_to_periodic_map_.
|
private |
Definition at line 55 of file PeriodicBoundary.hpp.
Referenced by get_affine_matrix(), and PeriodicBoundary().
|
private |
Definition at line 52 of file PeriodicBoundary.hpp.
Referenced by full_to_periodic(), full_to_periodic(), full_to_periodic(), n_periodic_dof(), periodic_to_full(), and PeriodicBoundary().
|
private |
Definition at line 53 of file PeriodicBoundary.hpp.
Referenced by is_periodic_dof(), and PeriodicBoundary().
|
private |
Definition at line 51 of file PeriodicBoundary.hpp.
Referenced by PeriodicBoundary().