[P]arallel [Hi]gh-order [Li]brary for [P]DEs
Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
|
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>
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 ¤t_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. | |
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.