unsigned int RBAssemblyExpansion::get_n_output_terms(unsigned int index) const { if(index >= get_n_outputs()) libmesh_error_msg("Error: We must have index < n_outputs in get_Q_l."); return cast_int<unsigned int> (_output_assembly_vector[index].size()); }
ElemAssembly& RBAssemblyExpansion::get_output_assembly(unsigned int output_index, unsigned int q_l) { if( (output_index >= get_n_outputs()) || (q_l >= get_n_output_terms(output_index)) ) libmesh_error_msg("Error: We must have output_index < n_outputs and " \ << "q_l < get_n_output_terms(output_index) in get_output_assembly."); return *_output_assembly_vector[output_index][q_l]; }
unsigned int RBThetaExpansion::get_n_output_terms(unsigned int index) const { if(index >= get_n_outputs()) { libMesh::err << "Error: We must have index < n_outputs in get_Q_l." << std::endl; libmesh_error(); } return _output_theta_vector[index].size(); }
void RBAssemblyExpansion::perform_output_boundary_assembly(unsigned int output_index, unsigned int q_l, FEMContext& context) { if( (output_index >= get_n_outputs()) || (q_l >= get_n_output_terms(output_index)) ) libmesh_error_msg("Error: We must have output_index < n_outputs and " \ << "q_l < get_n_output_terms(output_index) in perform_output_boundary_assembly."); libmesh_assert(_output_assembly_vector[output_index][q_l]); return _output_assembly_vector[output_index][q_l]->boundary_assembly(context); }
Number RBThetaExpansion::eval_output_theta(unsigned int output_index, unsigned int q_l, const RBParameters & mu) { if ((output_index >= get_n_outputs()) || (q_l >= get_n_output_terms(output_index))) libmesh_error_msg("Error: We must have output_index < n_outputs and " \ << "q_l < get_n_output_terms(output_index) in eval_output_theta."); libmesh_assert(_output_theta_vector[output_index][q_l]); return _output_theta_vector[output_index][q_l]->evaluate( mu ); }