8 #ifndef OUTPUT_TIME_HH_
9 #define OUTPUT_TIME_HH_
24 template <
int spacedim,
class Value>
26 template <
int spacedim,
class Value>
41 DECLARE_EXCEPTION(ExcOutputVariableVector, <<
"Can not output field " << EI_FieldName::qval
42 <<
" returning variable size vectors. Try convert to MultiField.\n");
129 template<
int spacedim,
class Value>
140 template<
int spacedim,
class Value>
192 template<
int spacedim,
class Value>
234 unsigned int li, count = 0;
double time
The newest time of registered data.
Common abstract parent of all Field<...> classes.
Common parent class for templated OutputData.
static Input::Type::AbstractRecord input_format_type
The specification of output file format.
#define FOR_ELEMENT_NODES(i, j)
Input::Record input_record_
ofstream * base_file
Base output stream.
static Input::Type::Record input_type
The specification of output stream.
TYPEDEF_ERR_INFO(EI_FieldName, std::string)
void set_data_file(ofstream *_data_file)
DECLARE_EXCEPTION(ExcOutputVariableVector,<< "Can not output field "<< EI_FieldName::qval<< " returning variable size vectors. Try convert to MultiField.\n")
#define FOR_ELEMENTS(_mesh_, __i)
Class template representing a field with values dependent on: point, element, and region...
void set_base_file(ofstream *_base_file)
ofstream & get_data_file(void)
void register_data(const DiscreteSpace type, MultiField< spacedim, Value > &multi_field)
Generic method for registering output data stored in MultiField.
OutputTime(const Input::Record &in_rec)
Constructor of OutputTime object. It opens base file for writing.
Basic time management functionality for unsteady (and steady) solvers (class Equation).
string * data_filename
Name of data output file.
vector< OutputDataBase * > node_data
static void destroy_all(void)
Try to find output stream from a key in record.
static OutputTime * create_output_stream(const Input::Record &in_rec)
This method write all registered data to output streams.
string * _base_filename
Name of base output file.
void compute_field_data(DiscreteSpace space, Field< spacedim, Value > &field)
static std::vector< OutputTime * > output_streams
Vector of pointers at OutputTime.
void set_mesh(Mesh *_mesh)
int current_step
Current step.
OutputDataBase * output_data_by_field_name(const string &field_name, DiscreteSpace ref_type)
This method returns pointer at existing data, when corresponding output data exists or it creates new...
vector< OutputDataBase * > elem_data
map< string, bool > output_names
Map of names of output fields. True means that field will be saved.
int rank
MPI rank of process (is tested in methods)
void set_data_time(void *data, double time)
This method set current time for registered data array/vector.
virtual ~OutputTime()
Destructor of OutputTime. It doesn't do anything, because all necessary destructors will be called in...
void clear_data(void)
Clear data for output computed by method compute_field_data.
ofstream * data_file
Data output stream (could be same as base_file)
The class for outputing data during time.
void mark_output_times(const TimeGovernor &tg)
OutFileFormat file_format
virtual int write_tail(void)=0
virtual int write_data(void)=0
void add_admissible_field_names(const Input::Array &in_array, const Input::Type::Selection &in_sel)
Registers names of output fields that can be written using this stream.
string & get_data_filename(void)
virtual int write_head(void)=0
double write_time
The last time, when data was wrote to this stream.
unsigned int get_corner_count(void)
Class for representation of a vector of fields of the same physical quantity.
ofstream & get_base_file(void)
vector< OutputDataBase * > corner_data