[P]arallel [Hi]gh-order [Li]brary for [P]DEs
Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
|
FFD design parameterization. Holds an object of FreeFormDeformation and uses it to update the mesh when the control variables are updated. More...
#include <ffd_parameterization.hpp>
Public Member Functions | |
FreeFormDeformationParameterization (std::shared_ptr< HighOrderGrid< dim, double >> _high_order_grid, const FreeFormDeformation< dim > &_ffd, std::vector< std::pair< unsigned int, unsigned int > > &_ffd_design_variables_indices_dim) | |
Constructor. | |
void | initialize_design_variables (VectorType &ffd_des_var) override |
Initializes FFD design variables and set locally owned and ghost indices. Overrides the virtual function in base class. | |
void | compute_dXv_dXp (MatrixType &dXv_dXp) const override |
Computes the derivative of volume nodes w.r.t. FFD design parameters. Overrides the virtual function in base class. | |
bool | update_mesh_from_design_variables (const MatrixType &dXv_dXp, const VectorType &ffd_des_var) override |
Checks if the design variables have changed and updates volume nodes based on the parameterization. | |
void | output_design_variables (const unsigned int iteration_no) const override |
Outputs design variables of FFD. | |
unsigned int | get_number_of_design_variables () const override |
Returns the number of FFD design variables. | |
![]() | |
BaseParameterization (std::shared_ptr< HighOrderGrid< dim, double >> _high_order_grid) | |
Constructor. | |
virtual | ~BaseParameterization ()=default |
Destructor. | |
bool | has_design_variable_been_updated (const VectorType ¤t_design_var, const VectorType &updated_design_var) const |
Checks if the design variable has changed. | |
Private Types | |
using | VectorType = dealii::LinearAlgebra::distributed::Vector< double > |
Alias for dealii's parallel distributed vector. | |
using | MatrixType = dealii::TrilinosWrappers::SparseMatrix |
Alias for dealii::TrilinosWrappers::SparseMatrix. | |
Private Attributes | |
FreeFormDeformation< dim > | ffd |
Free-form deformation used to parametrize the geometry. | |
const std::vector< std::pair< unsigned int, unsigned int > > | ffd_design_variables_indices_dim |
List of FFD design variables and axes. | |
VectorType | initial_ffd_des_var |
Initial design variable. Value is set in initialize_design_variables(). | |
Additional Inherited Members | |
![]() | |
std::shared_ptr< HighOrderGrid< dim, double > > | high_order_grid |
Pointer to high order grid. | |
MPI_Comm | mpi_communicator |
Alias for MPI_COMM_WORLD. | |
dealii::ConditionalOStream | pcout |
std::cout only on processor #0. | |
int | mpi_rank |
Processor# of current processor. | |
int | n_mpi |
Total no. of processors. | |
FFD design parameterization. Holds an object of FreeFormDeformation and uses it to update the mesh when the control variables are updated.
Definition at line 11 of file ffd_parameterization.hpp.