[P]arallel [Hi]gh-order [Li]brary for [P]DEs  Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
identity_parameterization.hpp
1 #ifndef __DESIGN_PARAMETERIZATION_IDENTITY_H__
2 #define __DESIGN_PARAMETERIZATION_IDENTITY_H__
3 
4 #include "base_parameterization.hpp"
5 
6 namespace PHiLiP {
7 
9 template<int dim>
11 
12  using VectorType = dealii::LinearAlgebra::distributed::Vector<double>;
13  using MatrixType = dealii::TrilinosWrappers::SparseMatrix;
14 
15 public:
17  explicit IdentityParameterization(
18  std::shared_ptr<HighOrderGrid<dim,double>> _high_order_grid);
19 
21  void initialize_design_variables(VectorType &design_var) override;
22 
24 
26  void compute_dXv_dXp(MatrixType &dXv_dXp) const override;
27 
30  const MatrixType &dXv_dXp,
31  const VectorType &design_var) override;
32 
34  unsigned int get_number_of_design_variables() const override;
35 
36 private:
37  VectorType current_volume_nodes;
38 };
39 
40 } // namespace PHiLiP
41 #endif
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 b...
Files for the baseline physics.
Definition: ADTypes.hpp:10
dealii::TrilinosWrappers::SparseMatrix MatrixType
Alias for dealii::TrilinosWrappers::SparseMatrix.
Abstract class for design parameterization. Objective function and the constraints take this class&#39;s ...
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).
Identity design parameterization. Control variables are all volume nodes.
dealii::LinearAlgebra::distributed::Vector< double > VectorType
Alias for dealii&#39;s parallel distributed vector.
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.
IdentityParameterization(std::shared_ptr< HighOrderGrid< dim, double >> _high_order_grid)
Constructor.