16 #ifndef __transient_base_h
17 #define __transient_base_h
24 using namespace dealii;
25 using namespace FuelCell::ApplicationCore;
29 namespace ApplicationCore
64 virtual void declare_parameters (ParameterHandler& param);
69 virtual void initialize (ParameterHandler& param);
85 void debug_output(
const FEVector& sol);
90 void responses_output();
100 void error_output(
const double& err);
118 void initialize_u_old(
const FEVector u,
const double n_ref,
const FEVector old_solution,
const bool force=
true);
333 const std::string fname_err=
"Solution_error.dat";
338 const std::string fname_tau=
"Time_step.dat";
346 return (stat(file.c_str(), &buf) ==0);
357 bool everything_is_fine=
true;
380 std::stringstream result;
double rel_err_estimate
Definition: transient_base.h:293
double precaution_factor
Precaution factor in optimal time step computation.
Definition: transient_base.h:392
double rel_error_tolerance
Definition: transient_base.h:303
double abs_err_estimate
Definition: transient_base.h:288
double total_time
Total time of simulation in seconds.
Definition: transient_base.h:278
bool debug_solution
Print updated solution after each step into file solution_NNNNN.dat.
Definition: transient_base.h:214
bool output_error
Definition: transient_base.h:308
std::ofstream error_outfile
Variable used in printing solution error data into a file.
Definition: transient_base.h:323
std::ofstream streamOut
Variable for streaming to file.
Definition: transient_base.h:373
int max_ats_it
Maximal number of adaptive time step iterations used to resolve each time layer.
Definition: transient_base.h:263
double tau
Initial time step size.
Definition: transient_base.h:248
bool print_last_layer_only
If this variable is set to true, then only the last time layer data will be printed.
Definition: transient_base.h:209
std::ofstream tau_outfile
Variable used in printing time step into a file.
Definition: transient_base.h:328
double min_tau
Minimal time step size.
Definition: transient_base.h:258
double abs_error_tolerance
Definition: transient_base.h:298
std::ofstream responses_outfile
Variable used in printing responses data into a file.
Definition: transient_base.h:318
unsigned int debug
Write debug output to FcstUtilities::log; the higher the number, the more output. ...
Definition: transient_base.h:220
double max_tau
Maximal time step size.
Definition: transient_base.h:253
const std::string get_time_stepping_method_names() const
This function returns the string of names for the adaptive time stepping methods. ...
Definition: transient_base.h:378
bool output_tau
Definition: transient_base.h:313
Base class for applications.
Definition: application_base.h:113
std::string ats_method
Decision varible for selecting the adaptive time stepping method.
Definition: transient_base.h:241
This class implements either iterative or time-stepping wrapper of applications.
Definition: application_wrapper.h:39
double time
Current time of simulation.
Definition: transient_base.h:283
bool file_exists(const std::string &file)
Definition: transient_base.h:343
This is a base class for transient solvers.
Definition: transient_base.h:53
int ar_freq
If adaptive refinement is selected, then it will be performed at each ar_freq-th layer.
Definition: transient_base.h:273
unsigned int n_ref
Definition: transient_base.h:362
BlockVector< double > FEVector
The vector class used by applications.
Definition: application_data.h:46
The data type used in function calls of Application.
Definition: fe_vectors.h:59
std::vector< double > all_time_values
A vector of all time values.
Definition: transient_base.h:352
FEVector u_old
A vector to store the solution from the previous time layer in.
Definition: transient_base.h:268
std::string fname
File name for debug output.
Definition: transient_base.h:368
unsigned int step
Number of the current time layer.
Definition: transient_base.h:225