[P]arallel [Hi]gh-order [Li]brary for [P]DEs
Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
|
Design parameterization w.r.t. inner volume nodes (i.e. volume nodes excluding those on the boundary). More...
#include <inner_vol_parameterization.hpp>
Public Member Functions | |
InnerVolParameterization (std::shared_ptr< HighOrderGrid< dim, double >> _high_order_grid) | |
Constructor. | |
void | initialize_design_variables (VectorType &design_var) override |
Initializes design variables with inner 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. inner volume nodes. 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 inner volume nodes of high order grid. | |
unsigned int | get_number_of_design_variables () const override |
Returns the number of design variables (i.e. no. of inner volume nodes). | |
void | compute_inner_vol_index_to_vol_index () |
Computes inner_vol_range IndexSet on each processor, along with n_inner_nodes and inner_vol_index_to_vol_index. More... | |
![]() | |
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 ¤t_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_design_var |
Current design variable. Stored to prevent recomputing if it is unchanged. | |
unsigned int | n_inner_nodes |
No. of inner volume nodes. | |
dealii::IndexSet | inner_vol_range |
Local indices of inner volume nodes. | |
dealii::LinearAlgebra::distributed::Vector< int > | inner_vol_index_to_vol_index |
Converts inner volume index to global index of volume nodes. | |
Additional Inherited Members | |
![]() | |
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. | |
Design parameterization w.r.t. inner volume nodes (i.e. volume nodes excluding those on the boundary).
Definition at line 10 of file inner_vol_parameterization.hpp.
|
overridevirtual |
Computes the derivative of volume nodes w.r.t. inner volume nodes. Overrides the virtual function in base class.
dXv_dXp is a rectangular matrix of dimension n_vol_nodes x n_inner_nodes.
Implements PHiLiP::BaseParameterization< dim >.
Definition at line 94 of file inner_vol_parameterization.cpp.
void PHiLiP::InnerVolParameterization< dim >::compute_inner_vol_index_to_vol_index | ( | ) |
Computes inner_vol_range IndexSet on each processor, along with n_inner_nodes and inner_vol_index_to_vol_index.
Called by the constructor of the class. These variables are expected to be constant throughtout the optimization for now (as no new nodes are being added).
Definition at line 17 of file inner_vol_parameterization.cpp.