LCOV - code coverage report
Current view: top level - src/reduced_basis - rb_eim_theta.C (source / functions) Hit Total Coverage
Test: libMesh/libmesh: #4229 (6a9aeb) with base 727f46 Lines: 0 15 0.0 %
Date: 2025-08-19 19:27:09 Functions: 0 3 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : // rbOOmit: An implementation of the Certified Reduced Basis method.
       2             : // Copyright (C) 2009, 2010 David J. Knezevic
       3             : 
       4             : // This file is part of rbOOmit.
       5             : 
       6             : // rbOOmit is free software; you can redistribute it and/or
       7             : // modify it under the terms of the GNU Lesser General Public
       8             : // License as published by the Free Software Foundation; either
       9             : // version 2.1 of the License, or (at your option) any later version.
      10             : 
      11             : // rbOOmit is distributed in the hope that it will be useful,
      12             : // but WITHOUT ANY WARRANTY; without even the implied warranty of
      13             : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      14             : // Lesser General Public License for more details.
      15             : 
      16             : // You should have received a copy of the GNU Lesser General Public
      17             : // License along with this library; if not, write to the Free Software
      18             : // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
      19             : 
      20             : #include "libmesh/rb_eim_theta.h"
      21             : #include "libmesh/rb_parameters.h"
      22             : #include "libmesh/rb_eim_evaluation.h"
      23             : 
      24             : namespace libMesh
      25             : {
      26             : 
      27           0 : RBEIMTheta::RBEIMTheta(RBEIMEvaluation & rb_eim_eval_in, unsigned int index_in)
      28             :   :
      29           0 :   rb_eim_eval(rb_eim_eval_in),
      30           0 :   index(index_in)
      31             : {
      32           0 : }
      33             : 
      34           0 : Number RBEIMTheta::evaluate(const RBParameters & mu)
      35             : {
      36           0 :   std::vector<RBParameters> mus {mu};
      37           0 :   std::vector<Number> values = evaluate_vec(mus);
      38             : 
      39           0 :   libmesh_error_msg_if(values.size() != 1, "Error: should have one value");
      40           0 :   return values[0];
      41           0 : }
      42             : 
      43           0 : std::vector<Number> RBEIMTheta::evaluate_vec(const std::vector<RBParameters> & mus)
      44             : {
      45           0 :   rb_eim_eval.set_eim_error_indicator_active(true);
      46           0 :   rb_eim_eval.rb_eim_solves(mus, rb_eim_eval.get_n_basis_functions());
      47           0 :   rb_eim_eval.set_eim_error_indicator_active(false);
      48             : 
      49           0 :   return rb_eim_eval.get_rb_eim_solutions_entries(index);
      50             : }
      51             : 
      52             : }

Generated by: LCOV version 1.14