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

Identity design parameterization. Control variables are all volume nodes. More...

#include <identity_parameterization.hpp>

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

Public Member Functions

 IdentityParameterization (std::shared_ptr< HighOrderGrid< dim, double >> _high_order_grid)
 Constructor.
 
void initialize_design_variables (VectorType &design_var) override
 Initializes design variables with volume nodes 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. design parameters. Overrides the virtual function in base class. More...
 
bool update_mesh_from_design_variables (const MatrixType &dXv_dXp, const VectorType &design_var) override
 Checks if the design variables have changed and updates volume nodes.
 
unsigned int get_number_of_design_variables () const override
 Returns the number of design variables (i.e. total no. of volume nodes on all processors).
 
- Public Member Functions inherited from PHiLiP::BaseParameterization< dim >
 BaseParameterization (std::shared_ptr< HighOrderGrid< dim, double >> _high_order_grid)
 Constructor.
 
virtual ~BaseParameterization ()=default
 Destructor.
 
virtual void output_design_variables (const unsigned int) const
 Outputs design variables. Doesn't output anything if not overridden.
 
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

VectorType current_volume_nodes
 

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::IdentityParameterization< dim >

Identity design parameterization. Control variables are all volume nodes.

Definition at line 10 of file identity_parameterization.hpp.

Member Function Documentation

◆ compute_dXv_dXp()

template<int dim>
void PHiLiP::IdentityParameterization< dim >::compute_dXv_dXp ( MatrixType dXv_dXp) const
overridevirtual

Computes the derivative of volume nodes w.r.t. design parameters. Overrides the virtual function in base class.

As the volume nodes are the design parameters, dXv_dXp is identity.

Implements PHiLiP::BaseParameterization< dim >.

Definition at line 24 of file identity_parameterization.cpp.


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