MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
output.h
Go to the documentation of this file.
1 /* $Header: /var/cvs/mbdyn/mbdyn/mbdyn-1.0/mbdyn/base/output.h,v 1.65 2017/05/29 17:50:43 masarati Exp $ */
2 /*
3  * MBDyn (C) is a multibody analysis code.
4  * http://www.mbdyn.org
5  *
6  * Copyright (C) 1996-2017
7  *
8  * Pierangelo Masarati <masarati@aero.polimi.it>
9  * Paolo Mantegazza <mantegazza@aero.polimi.it>
10  *
11  * Dipartimento di Ingegneria Aerospaziale - Politecnico di Milano
12  * via La Masa, 34 - 20156 Milano, Italy
13  * http://www.aero.polimi.it
14  *
15  * Changing this copyright notice is forbidden.
16  *
17  * This program is free software; you can redistribute it and/or modify
18  * it under the terms of the GNU General Public License as published by
19  * the Free Software Foundation (version 2 of the License).
20  *
21  *
22  * This program is distributed in the hope that it will be useful,
23  * but WITHOUT ANY WARRANTY; without even the implied warranty of
24  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25  * GNU General Public License for more details.
26  *
27  * You should have received a copy of the GNU General Public License
28  * along with this program; if not, write to the Free Software
29  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30  */
31 /*
32  * ACKNOWLEDGEMENTS:
33  * Support for output with NetCDF is based on a contribution
34  * by Patrick Rix <patrick.rix@online.de>
35  */
36 
37 /* gestore dell'output */
38 
39 #ifndef OUTPUT_H
40 #define OUTPUT_H
41 
42 /* se #define DEBUG_COUT l'output avviene su cout anziche' nei files */
43 
44 #include <iostream>
45 #include <iomanip>
46 #include <fstream>
47 #include <vector>
48 #include <typeinfo>
49 
50 #ifdef USE_NETCDF
51 #if defined(HAVE_NETCDFCPP_H)
52 #include <netcdfcpp.h>
53 #elif defined(HAVE_NETCDF_H)
54 #include <netcdf.h>
55 #endif
56 #endif /* USE_NETCDF */
57 
58 #include "myassert.h"
59 #include "except.h"
60 #include "solman.h"
61 #include "filename.h"
62 
63 /* OutputHandler - begin */
64 
65 class OutputHandler : public FileName {
66 public:
67  enum OutFiles {
68  UNKNOWN = -1,
69  FIRSTFILE = 0,
70  OUTPUT = 0, // 0
75  JOINTS, // 5
80  RESTARTXSOL, // 10
85  GENELS, // 15
89  LOG,
90  AIRPROPS, // 20
95  THERMALNODES, // 25
102  EIGENANALYSIS, // NOTE: ALWAYS LAST!
103  LASTFILE // 33
104  };
105 
106 private:
108 
109 public:
110  inline void SetCurrentStep(long Step) {
111  currentStep = Step;
112  };
113  inline void IncCurrentStep(void) {
114  currentStep++;
115  };
116  inline long GetCurrentStep(void) const {
117  return currentStep;
118  };
119 
120 private:
121 
122  // flag values
123  enum {
124  OUTPUT_NONE = 0x00U,
127 
132 
134  };
135 
136  /* Aggiungere qui i files che si desidera avere a disposizione */
137  struct {
138  std::ofstream* pof;
139  unsigned flags;
140  } OutData[LASTFILE];
141 
142  // NetCDF dimensions and global attributes related to the binary file
143 #ifdef USE_NETCDF
144  const NcDim *m_DimTime;
145  const NcDim *m_DimV1;
146  const NcDim *m_DimV3;
147  NcFile *m_pBinFile; /* ! one ! binary NetCDF data file */
148 #endif /* USE_NETCDF */
149 
150  /* handlers to streams */
151  std::ofstream ofOutput; /* 0 */
152  std::ofstream ofStrNodes;
153  std::ofstream ofElectric;
154  std::ofstream ofAbstract;
155  std::ofstream ofInertia;
156  std::ofstream ofJoints; /* 5 */
157  std::ofstream ofForces;
158  std::ofstream ofBeams;
159  std::ofstream ofRotors;
160  std::ofstream ofRestart;
161  std::ofstream ofRestartXSol; /* 10 */
162  std::ofstream ofAerodynamic;
163  std::ofstream ofHydraulic;
164  std::ofstream ofPresNodes;
165  std::ofstream ofLoadable;
166  std::ofstream ofGenels; /* 15 */
167  std::ofstream ofPartition;
168  std::ofstream ofAeroModals;
169  std::ofstream ofReferenceFrames; /* 20 */
170  std::ofstream ofLog;
171  std::ofstream ofAirProps;
172  std::ofstream ofParameters;
173  std::ofstream ofExternals;
174  std::ofstream ofModal; /* 25 */
175  std::ofstream ofThermalNodes;
176  std::ofstream ofThermalElements;
177  std::ofstream ofPlates;
178  std::ofstream ofGravity;
179  std::ofstream ofDofStats; /* 30 */
180  std::ofstream ofDriveCallers;
181  std::ofstream ofTraces;
182  std::ofstream ofEigenanalysis;
183 
187 
188  // private because we know we're using valid out index
189  bool IsOpen(int out) const;
190  bool UseDefaultPrecision(int out) const;
191  bool UseScientific(int out) const;
192 
193  bool UseText(int out) const;
194  bool UseNetCDF(int out) const;
195 
196  // Pseudo-constructor
197  void OutputHandler_int(void);
198 
199 public:
200  OutputHandler(void);
201 
202  OutputHandler(const char* sFName, int iExtNum = -1);
203 
204  void Init(const char* sFName, int iExtNum = -1);
205 
206  virtual ~OutputHandler(void);
207 
208  /* Aggiungere qui le funzioni che aprono i singoli stream */
209  bool Open(const OutputHandler::OutFiles out);
210 
211  /* Overload for eigenanalysis text output */
212  bool Open(const int out, const std::string& postfix);
213  bool IsOpen(const OutputHandler::OutFiles out) const;
214  bool UseDefaultPrecision(const OutputHandler::OutFiles out) const;
215  bool UseScientific(const OutputHandler::OutFiles out) const;
216 
217  void SetText(const OutputHandler::OutFiles out);
218  void ClearText(void);
219  void ClearText(const OutputHandler::OutFiles out);
220  bool UseText(const OutputHandler::OutFiles out) const;
221 
222  void SetNetCDF(const OutputHandler::OutFiles out);
223  void ClearNetCDF(void);
224  void ClearNetCDF(const OutputHandler::OutFiles out);
225  bool UseNetCDF(const OutputHandler::OutFiles out) const;
226 
227  bool Close(const OutputHandler::OutFiles out);
228 
229  bool OutputOpen(void);
230  bool RestartOpen(bool openResXSol = false);
231 
232  bool PartitionOpen(void);
233  bool LogOpen(void);
234 
235  /* Aggiungere qui le funzioni che ritornano gli stream desiderati */
236  inline std::ostream& Get(const OutputHandler::OutFiles f);
237 
238  inline std::ostream& Output(void) const;
239  inline std::ostream& StrNodes(void) const;
240  inline std::ostream& Electric(void) const;
241  inline std::ostream& Abstract(void) const;
242  inline std::ostream& Inertia(void) const;
243  inline std::ostream& Joints(void) const;
244  inline std::ostream& Forces(void) const;
245  inline std::ostream& Beams(void) const;
246  inline std::ostream& Rotors(void) const;
247  inline std::ostream& Restart(void) const;
248  inline std::ostream& RestartXSol(void) const;
249  inline std::ostream& Aerodynamic(void) const;
250  inline std::ostream& Hydraulic(void) const;
251  inline std::ostream& PresNodes(void) const;
252  inline std::ostream& Loadable(void) const;
253  inline std::ostream& Genels(void) const;
254  inline std::ostream& Partition(void) const;
255  inline std::ostream& AeroModals(void) const;
256  inline std::ostream& ReferenceFrames(void) const;
257  inline std::ostream& Log(void) const;
258  inline std::ostream& AirProps(void) const;
259  inline std::ostream& Parameters(void) const;
260  inline std::ostream& Externals(void) const;
261  inline std::ostream& Modal(void) const;
262  inline std::ostream& ThermalNodes(void) const;
263  inline std::ostream& ThermalElements(void) const;
264  inline std::ostream& Plates(void) const;
265  inline std::ostream& Gravity(void) const;
266  inline std::ostream& DofStats(void) const;
267  inline std::ostream& DriveCallers(void) const;
268  inline std::ostream& Traces(void) const;
269  inline std::ostream& Eigenanalysis(void) const;
270 
271  inline int iW(void) const;
272  inline int iP(void) const;
273 
274  void SetWidth(int iNewWidth);
275  void SetPrecision(int iNewPrecision);
276  void SetExceptions(std::ios::iostate flags);
277 
278 #ifdef USE_NETCDF
279  inline NcFile* pGetBinFile(void) const;
280 
281  struct AttrVal {
282  std::string attr;
283  std::string val;
284  AttrVal(void) { NO_OP; };
285  AttrVal(const std::string& attr, const std::string& val) : attr(attr), val(val) { NO_OP; };
286  };
287 
288  typedef std::vector<OutputHandler::AttrVal> AttrValVec;
289  typedef std::vector<const NcDim *> NcDimVec;
290 
291  const NcDim *
292  CreateDim(const std::string& name, integer size = -1);
293 
294  const NcDim *
295  GetDim(const std::string& name) const;
296 
297  inline const NcDim* DimTime(void) const;
298  inline const NcDim* DimV1(void) const;
299  inline const NcDim* DimV3(void) const;
300 
301  NcVar *
302  CreateVar(const std::string& name, NcType type,
303  const AttrValVec& attrs, const NcDimVec& dims);
304 
305  NcVar *
306  CreateVar(const std::string& name, const std::string& type);
307 
308  template <class T>
309  NcVar *
310  CreateVar(const std::string& name,
311  const std::string& units, const std::string& description);
312 
313  NcVar *
314  CreateRotationVar(const std::string& name_prefix,
315  const std::string& name_postfix,
317  const std::string& description);
318 #endif /* USE_NETCDF */
319 }; /* End class OutputHandler */
320 
321 #ifdef USE_NETCDF
322 template <class T>
323 NcVar *
324 OutputHandler::CreateVar(const std::string& name,
325  const std::string& units, const std::string& description)
326 {
327  AttrValVec attrs(3);
328  NcDimVec dims(1);
329 
330  attrs[0] = AttrVal("units", units);
331  attrs[2] = AttrVal("description", description);
332  dims[0] = DimTime();
333 
334  NcType type;
335  if (typeid(T) == typeid(integer)) {
336  attrs[1] = AttrVal("type", "integer");
337  type = ncLong;
338 
339  } else if (typeid(T) == typeid(doublereal)) {
340  attrs[1] = AttrVal("type", "doublereal");
341  type = ncDouble;
342 
343  } else if (typeid(T) == typeid(Vec3)) {
344  attrs[1] = AttrVal("type", "Vec3");
345  dims.resize(2);
346  dims[1] = DimV3();
347  type = ncDouble;
348 
349  } else {
351  }
352 
353  return CreateVar(name, type, attrs, dims);
354 }
355 
356 inline NcFile *
357 OutputHandler::pGetBinFile(void) const
358 {
359  return m_pBinFile;
360 }
361 
362 inline const NcDim *
363 OutputHandler::DimTime(void) const
364 {
365  return m_DimTime;
366 }
367 
368 inline const NcDim *
369 OutputHandler::DimV1(void) const
370 {
371  return m_DimV1;
372 }
373 
374 inline const NcDim *
375 OutputHandler::DimV3(void) const
376 {
377  return m_DimV3;
378 }
379 #endif /* USE_NETCDF */
380 
381 inline std::ostream&
383 {
384  ASSERT(f > -1 && f < LASTFILE);
385  ASSERT(IsOpen(f));
386  return *(OutData[f].pof);
387 }
388 
389 inline std::ostream&
391 {
392 #ifdef DEBUG_COUT
393  return const_cast<std::ostream &>(cout);
394 #else
395  ASSERT(IsOpen(OUTPUT));
396  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofOutput));
397 #endif
398 }
399 
400 inline std::ostream&
402 {
404  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofStrNodes));
405 }
406 
407 inline std::ostream&
409 {
411  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofElectric));
412 }
413 
414 inline std::ostream&
416 {
418  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofThermalNodes));
419 }
420 
421 inline std::ostream&
423 {
425  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofThermalElements));
426 }
427 
428 inline std::ostream&
430 {
432  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofAbstract));
433 }
434 
435 inline std::ostream&
437 {
439  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofInertia));
440 }
441 
442 inline std::ostream&
444 {
445  ASSERT(IsOpen(JOINTS));
446  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofJoints));
447 }
448 
449 inline std::ostream&
451 {
452  ASSERT(IsOpen(FORCES));
453  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofForces));
454 }
455 
456 inline std::ostream&
458 {
459  ASSERT(IsOpen(BEAMS));
460  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofBeams));
461 }
462 
463 inline std::ostream&
465 {
466  ASSERT(IsOpen(ROTORS));
467  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofRotors));
468 }
469 
470 inline std::ostream&
472 {
474  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofRestart));
475 }
476 
477 inline std::ostream&
479 {
481  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofRestartXSol));
482 }
483 
484 inline std::ostream&
486 {
488  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofAerodynamic));
489 }
490 
491 inline std::ostream&
493 {
495  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofHydraulic));
496 }
497 
498 inline std::ostream&
500 {
502  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofPresNodes));
503 }
504 
505 inline std::ostream&
507 {
509  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofLoadable));
510 }
511 
512 inline std::ostream&
514 {
515  ASSERT(IsOpen(GENELS));
516  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofGenels));
517 }
518 
519 inline std::ostream&
521 {
523  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofPartition));
524 }
525 
526 inline std::ostream&
528 {
530  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofAeroModals));
531 }
532 
533 inline std::ostream&
535 {
537  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofReferenceFrames));
538 }
539 
540 inline std::ostream&
542 {
543 #ifdef DEBUG_COUT
544  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(cout));
545 #else
546  ASSERT(IsOpen(LOG));
547  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofLog));
548 #endif
549 }
550 
551 inline std::ostream&
553 {
555  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofAirProps));
556 }
557 
558 inline std::ostream&
560 {
562  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofParameters));
563 }
564 
565 inline std::ostream&
567 {
569  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofExternals));
570 }
571 
572 inline std::ostream&
574 {
575  ASSERT(IsOpen(MODAL));
576  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofModal));
577 }
578 
579 inline std::ostream&
581 {
582  ASSERT(IsOpen(PLATES));
583  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofPlates));
584 }
585 
586 inline std::ostream&
588 {
590  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofGravity));
591 }
592 
593 inline std::ostream&
595 {
597  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofDofStats));
598 }
599 
600 inline std::ostream&
602 {
604  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofDriveCallers));
605 }
606 
607 inline std::ostream&
609 {
610  ASSERT(IsOpen(TRACES));
611  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofTraces));
612 }
613 
614 inline std::ostream&
616 {
618  return const_cast<std::ostream &>(dynamic_cast<const std::ostream &>(ofEigenanalysis));
619 }
620 
621 
622 inline int
623 OutputHandler::iW(void) const
624 {
625  return iCurrWidth;
626 }
627 
628 inline int
629 OutputHandler::iP(void) const
630 {
631  return iCurrPrecision;
632 }
633 
634 /* OutputHandler - end */
635 
636 
637 /* ToBeOutput - begin */
638 
639 const flag fDefaultOut = 1;
640 
641 class ToBeOutput {
642 public:
643  enum {
644  OUTPUT = 0x1U,
645 
646  // use OUTPUT_MASK to isolate public output flags
647  OUTPUT_MASK = 0xFU,
648 
649  // reserve values up to OUTPUT_PRIVATE for public use;
650  // reserved output flags can start from OUTPUT_PRIVATE up
651  OUTPUT_PRIVATE = 0x10U,
652 
653  // use OUTPUT_PRIVATE_MASK to isolate private output flags
655  };
656 
657 protected:
659 
660 public:
661  ToBeOutput(flag fOut = fDefaultOut);
662  virtual ~ToBeOutput(void);
663 
664  virtual void OutputPrepare(OutputHandler &OH);
665 
666  /* Regular output */
667  virtual void Output(OutputHandler& OH) const;
668 
669  /* Output of perturbed solution (modes ...) */
670  virtual void Output(OutputHandler& OH,
671  const VectorHandler& X, const VectorHandler& XP) const;
672 
673  virtual flag fToBeOutput(void) const;
674  virtual bool bToBeOutput(void) const;
675  virtual void SetOutputFlag(flag f = flag(1));
676 };
677 
678 /* ToBeOutput - end */
679 
680 class Traceable {
681 public:
682  enum {
683  TRACE = 0x01U,
685  TRACE_PRIVATE = 0x10U,
687  };
688 
689  Traceable(flag fTrace = 0);
690  virtual ~Traceable(void);
691 
692  virtual void Trace(OutputHandler& OH) const=0;
693  virtual flag fToBeTraced(void) const;
694  virtual void SetTraceFlag(flag f = TRACE);
695 
696 private:
698 };
699 
700 #endif /* OUTPUT_H */
void OutputHandler_int(void)
Definition: output.cc:121
std::ostream & ReferenceFrames(void) const
Definition: output.h:534
std::ofstream ofRestartXSol
Definition: output.h:161
void SetWidth(int iNewWidth)
Definition: output.cc:647
std::ostream & Genels(void) const
Definition: output.h:513
ToBeOutput(flag fOut=fDefaultOut)
Definition: output.cc:851
void SetNetCDF(const OutputHandler::OutFiles out)
Definition: output.cc:500
int nCurrRestartFile
Definition: output.h:186
unsigned flags
Definition: output.h:139
const flag fDefaultOut
Definition: output.h:639
std::ofstream ofPlates
Definition: output.h:177
long int flag
Definition: mbdyn.h:43
virtual bool bToBeOutput(void) const
Definition: output.cc:890
int iW(void) const
Definition: output.h:623
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
Definition: matvec3.h:98
std::ostream & DofStats(void) const
Definition: output.h:594
bool UseNetCDF(int out) const
Definition: output.cc:491
std::ostream & AeroModals(void) const
Definition: output.h:527
flag fOutput
Definition: output.h:658
std::ofstream ofGenels
Definition: output.h:166
virtual ~OutputHandler(void)
Definition: output.cc:276
std::ostream & Modal(void) const
Definition: output.h:573
std::ofstream ofAeroModals
Definition: output.h:168
std::ofstream ofBeams
Definition: output.h:158
std::ofstream ofInertia
Definition: output.h:155
std::ostream & ThermalElements(void) const
Definition: output.h:422
bool Close(const OutputHandler::OutFiles out)
Definition: output.cc:536
void SetText(const OutputHandler::OutFiles out)
Definition: output.cc:455
std::ostream & StrNodes(void) const
Definition: output.h:401
long currentStep
Definition: output.h:107
std::ostream & Inertia(void) const
Definition: output.h:436
std::ofstream ofAerodynamic
Definition: output.h:162
OrientationDescription
Definition: matvec3.h:1597
std::ostream & ThermalNodes(void) const
Definition: output.h:415
std::ofstream ofTraces
Definition: output.h:181
std::ofstream ofExternals
Definition: output.h:173
std::ofstream ofEigenanalysis
Definition: output.h:182
std::ofstream ofPresNodes
Definition: output.h:164
std::ofstream ofThermalElements
Definition: output.h:176
std::ofstream ofOutput
Definition: output.h:151
#define NO_OP
Definition: myassert.h:74
std::ostream & Gravity(void) const
Definition: output.h:587
std::ofstream ofThermalNodes
Definition: output.h:175
std::ofstream ofAirProps
Definition: output.h:171
std::ofstream ofReferenceFrames
Definition: output.h:169
bool Open(const OutputHandler::OutFiles out)
Definition: output.cc:298
std::ostream & Abstract(void) const
Definition: output.h:429
void Init(const char *sFName, int iExtNum=-1)
Definition: output.cc:267
std::ostream & Partition(void) const
Definition: output.h:520
bool UseScientific(int out) const
Definition: output.cc:416
bool LogOpen(void)
Definition: output.cc:637
std::ofstream ofForces
Definition: output.h:157
std::ostream & Traces(void) const
Definition: output.h:608
std::ofstream ofElectric
Definition: output.h:153
std::ofstream ofRotors
Definition: output.h:159
void SetPrecision(int iNewPrecision)
Definition: output.cc:663
flag fTrace
Definition: output.h:697
OutputHandler(void)
Definition: output.cc:87
virtual void Trace(OutputHandler &OH) const =0
void IncCurrentStep(void)
Definition: output.h:113
std::ostream & Loadable(void) const
Definition: output.h:506
struct OutputHandler::@34 OutData[LASTFILE]
std::ostream & Parameters(void) const
Definition: output.h:559
long GetCurrentStep(void) const
Definition: output.h:116
void SetExceptions(std::ios::iostate flags)
Definition: output.cc:678
void SetCurrentStep(long Step)
Definition: output.h:110
std::ofstream * pof
Definition: output.h:138
std::ofstream ofParameters
Definition: output.h:172
void ClearText(void)
Definition: output.cc:465
std::ostream & Joints(void) const
Definition: output.h:443
bool IsOpen(int out) const
Definition: output.cc:395
virtual void OutputPrepare(OutputHandler &OH)
Definition: output.cc:863
#define ASSERT(expression)
Definition: colamd.c:977
virtual ~Traceable(void)
Definition: output.cc:909
std::ostream & RestartXSol(void) const
Definition: output.h:478
std::ofstream ofDofStats
Definition: output.h:179
std::ofstream ofDriveCallers
Definition: output.h:180
int iP(void) const
Definition: output.h:629
std::ostream & AirProps(void) const
Definition: output.h:552
virtual flag fToBeTraced(void) const
Definition: output.cc:914
std::ofstream ofRestart
Definition: output.h:160
std::ostream & Externals(void) const
Definition: output.h:566
std::ofstream ofLog
Definition: output.h:170
std::ostream & Restart(void) const
Definition: output.h:471
int iCurrWidth
Definition: output.h:184
std::ostream & DriveCallers(void) const
Definition: output.h:601
std::ostream & Beams(void) const
Definition: output.h:457
virtual void SetTraceFlag(flag f=TRACE)
Definition: output.cc:919
std::ostream & Output(void) const
Definition: output.h:390
virtual void Output(OutputHandler &OH) const
Definition: output.cc:870
std::ostream & Rotors(void) const
Definition: output.h:464
virtual flag fToBeOutput(void) const
Definition: output.cc:884
std::ofstream ofHydraulic
Definition: output.h:163
bool UseDefaultPrecision(int out) const
Definition: output.cc:431
std::ostream & Log(void) const
Definition: output.h:541
std::ostream & Get(const OutputHandler::OutFiles f)
Definition: output.h:382
std::ostream & Hydraulic(void) const
Definition: output.h:492
std::ofstream ofGravity
Definition: output.h:178
void ClearNetCDF(void)
Definition: output.cc:510
virtual void SetOutputFlag(flag f=flag(1))
Definition: output.cc:896
std::ofstream ofStrNodes
Definition: output.h:152
std::ostream & Plates(void) const
Definition: output.h:580
double doublereal
Definition: colamd.c:52
int iCurrPrecision
Definition: output.h:185
std::ostream & Eigenanalysis(void) const
Definition: output.h:615
std::ofstream ofPartition
Definition: output.h:167
long int integer
Definition: colamd.c:51
bool PartitionOpen(void)
Definition: output.cc:630
std::ofstream ofLoadable
Definition: output.h:165
std::ostream & PresNodes(void) const
Definition: output.h:499
std::ostream & Electric(void) const
Definition: output.h:408
bool RestartOpen(bool openResXSol=false)
Definition: output.cc:563
std::ofstream ofJoints
Definition: output.h:156
std::ostream & Forces(void) const
Definition: output.h:450
bool OutputOpen(void)
Definition: output.cc:557
std::ofstream ofModal
Definition: output.h:174
bool UseText(int out) const
Definition: output.cc:446
std::ofstream ofAbstract
Definition: output.h:154
virtual ~ToBeOutput(void)
Definition: output.cc:857
Traceable(flag fTrace=0)
Definition: output.cc:903
std::ostream & Aerodynamic(void) const
Definition: output.h:485