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]; }
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 ); }