[P]arallel [Hi]gh-order [Li]brary for [P]DEs  Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
PHiLiP::FreeFormDeformationParameterization< dim > Class Template Reference

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>

Inheritance diagram for PHiLiP::FreeFormDeformationParameterization< dim >:
Collaboration diagram for PHiLiP::FreeFormDeformationParameterization< dim >:

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.
 
- Public Member Functions inherited from PHiLiP::BaseParameterization< dim >
 BaseParameterization (std::shared_ptr< HighOrderGrid< dim, double >> _high_order_grid)
 Constructor.
 
virtual ~BaseParameterization ()=default
 Destructor.
 
bool has_design_variable_been_updated (const VectorType &current_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

- Public Attributes inherited from PHiLiP::BaseParameterization< dim >
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.
 

Detailed Description

template<int dim>
class PHiLiP::FreeFormDeformationParameterization< dim >

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.


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