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

Abstract class for design parameterization. Objective function and the constraints take this class's pointer as an input to parameterize design variables w.r.t. volume nodes. More...

#include <base_parameterization.hpp>

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

Public Member Functions

 BaseParameterization (std::shared_ptr< HighOrderGrid< dim, double >> _high_order_grid)
 Constructor.
 
virtual ~BaseParameterization ()=default
 Destructor.
 
virtual void initialize_design_variables (VectorType &design_var)=0
 Initialize design variables and set locally owned and ghost indices.
 
virtual bool update_mesh_from_design_variables (const MatrixType &dXv_dXp, const VectorType &design_var)=0
 Checks if the design variable has changed and updates volume nodes based on the parameterization.
 
virtual void compute_dXv_dXp (MatrixType &dXv_dXp) const =0
 Computes derivative of volume nodes w.r.t. design parameters.
 
virtual void output_design_variables (const unsigned int) const
 Outputs design variables. Doesn't output anything if not overridden.
 
virtual unsigned int get_number_of_design_variables () const =0
 Returns the number of design variables. To be implemented by derived classes.
 
bool has_design_variable_been_updated (const VectorType &current_design_var, const VectorType &updated_design_var) const
 Checks if the design variable has changed.
 

Public Attributes

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.
 

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.
 

Detailed Description

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

Abstract class for design parameterization. Objective function and the constraints take this class's pointer as an input to parameterize design variables w.r.t. volume nodes.

Definition at line 10 of file base_parameterization.hpp.


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