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

#include <assemble_ECSW_training_data_base.h>

Inheritance diagram for PHiLiP::HyperReduction::AssembleECSWBase< dim, nstate >:
Collaboration diagram for PHiLiP::HyperReduction::AssembleECSWBase< dim, nstate >:

Public Member Functions

 AssembleECSWBase (const PHiLiP::Parameters::AllParameters *const parameters_input, const dealii::ParameterHandler &parameter_handler_input, std::shared_ptr< DGBase< dim, double >> &dg_input, std::shared_ptr< ProperOrthogonalDecomposition::PODBase< dim >> pod, MatrixXd snapshot_parameters_input, Parameters::ODESolverParam::ODESolverEnum ode_solver_type, Epetra_MpiComm &Comm)
 Constructor.
 
virtual ~AssembleECSWBase ()
 Destructor.
 
std::shared_ptr< Epetra_CrsMatrix > local_generate_test_basis (Epetra_CrsMatrix &system_matrix, const Epetra_CrsMatrix &pod_basis)
 Generate Test Basis from the pod and snapshot info depending on the ode_solve_type (copied from the ODE solvers)
 
Parameters::AllParameters reinit_params (const RowVectorXd &parameter) const
 Reinitialize parameters.
 
void update_snapshots (dealii::LinearAlgebra::distributed::Vector< double > fom_solution)
 Update POD and Snapshot Parameters.
 
void update_POD_snaps (std::shared_ptr< ProperOrthogonalDecomposition::PODBase< dim >> pod_update, MatrixXd snapshot_parameters_update)
 Update POD and Snapshot Parameters.
 
virtual void build_problem ()=0
 Fill entries of A and b.
 

Public Attributes

const Parameters::AllParameters *const all_parameters
 Pointer to all parameters.
 
const dealii::ParameterHandler & parameter_handler
 Parameter handler for storing the .prm file being ran.
 
std::shared_ptr< DGBase< dim, double > > dg
 dg
 
std::shared_ptr< ProperOrthogonalDecomposition::PODBase< dim > > pod
 POD.
 
MatrixXd snapshot_parameters
 Matrix of snapshot parameters.
 
const MPI_Comm mpi_communicator
 MPI communicator.
 
const int mpi_rank
 MPI rank.
 
dealii::ConditionalOStream pcout
 ConditionalOStream. More...
 
Parameters::ODESolverParam::ODESolverEnum ode_solver_type
 ODE Solve Type/ Projection Type (galerkin or petrov-galerkin)
 
Epetra_MpiComm Comm_
 Epetra Communicator Object with MPI.
 
std::shared_ptr< dealii::TrilinosWrappers::SparseMatrix > A_T
 Matrix for the NNLS Problem.
 
dealii::LinearAlgebra::ReadWriteVector< double > b
 RHS Vector for the NNLS Problem.
 
std::vector< dealii::LinearAlgebra::distributed::Vector< double > > fom_locations
 Vector of parameter-ROMTestLocation pairs.
 

Detailed Description

template<int dim, int nstate>
class PHiLiP::HyperReduction::AssembleECSWBase< dim, nstate >

Base class for assembling the ECSW training data. Training data can be residual-based or Jacobian-based. NOTE: This class does not solve for the weights, but A and b can be passed to the NNLS solver class.

Definition at line 35 of file assemble_ECSW_training_data_base.h.

Member Data Documentation

◆ pcout

template<int dim, int nstate>
dealii::ConditionalOStream PHiLiP::HyperReduction::AssembleECSWBase< dim, nstate >::pcout

ConditionalOStream.

Used as std::cout, but only prints if mpi_rank == 0

Definition at line 71 of file assemble_ECSW_training_data_base.h.


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