transient_rb_evaluation.h
Go to the documentation of this file.
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 #ifndef LIBMESH_TRANSIENT_RB_EVALUATION_H
21 #define LIBMESH_TRANSIENT_RB_EVALUATION_H
22 
23 // rbOOmit includes
24 #include "libmesh/rb_evaluation.h"
26 
27 // libMesh includes
28 
29 // C++ includes
30 
31 namespace libMesh
32 {
33 
34 class TransientRBThetaExpansion;
35 
48 // ------------------------------------------------------------
49 // TransientRBEvaluation class definition
50 
52 {
53 public:
54 
59  LIBMESH_CAN_DEFAULT_TO_COMMWORLD);
60 
65 
70 
75  virtual void clear();
76 
84  virtual void resize_data_structures(const unsigned int Nmax,
85  bool resize_error_bound_data=true);
86 
92  virtual Real rb_solve(unsigned int N);
93 
97  virtual Real get_rb_solution_norm();
98 
104  virtual Real residual_scaling_numer(Real alpha_LB);
105 
111  virtual Real compute_residual_dual_norm(const unsigned int N);
112 
119  virtual Real uncached_compute_residual_dual_norm(const unsigned int N);
120 
126  void cache_online_residual_terms(const unsigned int N);
127 
134  virtual void clear_riesz_representors();
135 
140  virtual void write_offline_data_to_files(const std::string& directory_name = "offline_data",
141  const bool write_binary_data=true);
142 
147  virtual void read_offline_data_from_files(const std::string& directory_name = "offline_data",
148  bool read_error_bound_data=true,
149  const bool read_binary_data=true);
150 
151  //----------- PUBLIC DATA MEMBERS -----------//
152 
157 
161  std::vector< DenseMatrix<Number> > RB_M_q_vector;
162 
167  std::vector< std::vector<Number> > RB_outputs_all_k;
168 
173  std::vector< std::vector<Real> > RB_output_error_bounds_all_k;
174 
179 
183  std::vector< DenseVector<Number> > RB_temporal_solution_data;
184 
189  std::vector< Real > error_bound_all_k;
190 
195  std::vector<Real> initial_L2_error_all_N;
196 
201  std::vector< DenseVector<Number> > RB_initial_condition_all_N;
202 
207  std::vector< std::vector< std::vector<Number> > > Fq_Mq_representor_innerprods;
208  std::vector< std::vector< std::vector<Number> > > Mq_Mq_representor_innerprods;
209  std::vector< std::vector< std::vector< std::vector<Number> > > > Aq_Mq_representor_innerprods;
210 
211 
222 
227  std::vector< std::vector< NumericVector<Number>* > > M_q_representor;
228 
229 };
230 
231 }
232 
233 #endif // LIBMESH_TRANSIENT_RB_EVALUATION_H

Site Created By: libMesh Developers
Last modified: February 07 2014 16:57:07 UTC

Hosted By:
SourceForge.net Logo