MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
SuperHydraulicFluid Class Reference

#include <hfluid_.h>

Inheritance diagram for SuperHydraulicFluid:
Collaboration diagram for SuperHydraulicFluid:

Public Types

enum  {
  DEFAULT, ZERO, SMALL, INFTY,
  TANH
}
 
- Public Types inherited from HydraulicFluid
enum  Re { UPPER, LOWER }
 

Public Member Functions

 SuperHydraulicFluid (unsigned int Label, const doublereal &dDens, const doublereal &dB, const doublereal &dPr0, const doublereal &dVisc=0., const doublereal dTp0=-1.)
 
 SuperHydraulicFluid (const SuperHydraulicFluid &HF)
 
virtual ~SuperHydraulicFluid ()
 
HydraulicFluidpCopy (void) const
 
virtual doublereal dGetDensity (void) const
 
virtual doublereal dGetDensity (const doublereal &dPres) const
 
virtual doublereal dGetDensity (const doublereal &dPres, const doublereal &) const
 
virtual doublereal dGetDensityDPres (void) const
 
virtual doublereal dGetDensityDPres (const doublereal &dPres) const
 
virtual doublereal dGetDensityDPres (const doublereal &dPres, const doublereal &) const
 
virtual doublereal dGetDensityDTemp (void) const
 
virtual doublereal dGetDensityDTemp (const doublereal &) const
 
virtual doublereal dGetDensityDTemp (const doublereal &, const doublereal &) const
 
doublereal dGetViscosity (void) const
 
doublereal dGetViscosity (const doublereal &dPres) const
 
doublereal dGetViscosity (const doublereal &dPres, const doublereal &) const
 
- Public Member Functions inherited from HydraulicFluid
 HydraulicFluid (unsigned int Label, const doublereal dPres0=-1., const doublereal dTemp0=-1.)
 
 HydraulicFluid (const HydraulicFluid &HF)
 
virtual ~HydraulicFluid ()
 
virtual doublereal dGetRe (Re which)
 
virtual doublereal dGetPres0 (void) const
 
virtual doublereal dGetTemp0 (void) const
 
- Public Member Functions inherited from WithLabel
 WithLabel (unsigned int uL=0, const std::string &sN="")
 
virtual ~WithLabel (void)
 
void PutLabel (unsigned int uL)
 
void PutName (const std::string &sN)
 
unsigned int GetLabel (void) const
 
const std::string & GetName (void) const
 

Static Public Attributes

static const int type = TANH
 

Protected Attributes

const doublereal dDensity
 
const doublereal dBeta
 
const doublereal dDensityDPres
 
const doublereal dViscosity
 
- Protected Attributes inherited from HydraulicFluid
const doublereal dPres0
 
const doublereal dTemp0
 
- Protected Attributes inherited from WithLabel
unsigned int uLabel
 
std::string sName
 

Detailed Description

Definition at line 293 of file hfluid_.h.

Member Enumeration Documentation

anonymous enum
Enumerator
DEFAULT 
ZERO 
SMALL 
INFTY 
TANH 

Definition at line 343 of file hfluid_.h.

Constructor & Destructor Documentation

SuperHydraulicFluid::SuperHydraulicFluid ( unsigned int  Label,
const doublereal dDens,
const doublereal dB,
const doublereal dPr0,
const doublereal dVisc = 0.,
const doublereal  dTp0 = -1. 
)
inline

Definition at line 301 of file hfluid_.h.

References dDensityDPres, and MBDYN_EXCEPT_ARGS.

Referenced by pCopy().

307  : HydraulicFluid(Label, dPr0, dTp0),
308  dDensity(dDens),
309  dBeta(dB),
310  dDensityDPres(0.),
311  dViscosity(dVisc) {
312  if (dB == 0.) {
314  }
315  (doublereal&)dDensityDPres = dDens/dB;
316  };
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
const doublereal dDensityDPres
Definition: hfluid_.h:297
const doublereal dBeta
Definition: hfluid_.h:296
HydraulicFluid(unsigned int Label, const doublereal dPres0=-1., const doublereal dTemp0=-1.)
Definition: hfluid.cc:48
const doublereal dDensity
Definition: hfluid_.h:295
const doublereal dViscosity
Definition: hfluid_.h:298
double doublereal
Definition: colamd.c:52
SuperHydraulicFluid::SuperHydraulicFluid ( const SuperHydraulicFluid HF)
inline

Definition at line 318 of file hfluid_.h.

References dBeta, dDensity, dDensityDPres, and MBDYN_EXCEPT_ARGS.

319  : HydraulicFluid(HF),
320  dDensity(HF.dDensity),
321  dBeta(HF.dBeta),
322  dDensityDPres(0.),
323  dViscosity(HF.dViscosity) {
324  if (dBeta == 0.) {
326  }
328  };
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
const doublereal dDensityDPres
Definition: hfluid_.h:297
const doublereal dBeta
Definition: hfluid_.h:296
HydraulicFluid(unsigned int Label, const doublereal dPres0=-1., const doublereal dTemp0=-1.)
Definition: hfluid.cc:48
const doublereal dDensity
Definition: hfluid_.h:295
const doublereal dViscosity
Definition: hfluid_.h:298
double doublereal
Definition: colamd.c:52
virtual SuperHydraulicFluid::~SuperHydraulicFluid ( )
inlinevirtual

Definition at line 330 of file hfluid_.h.

References NO_OP.

330  {
331  NO_OP;
332  };
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

virtual doublereal SuperHydraulicFluid::dGetDensity ( void  ) const
inlinevirtual

Implements HydraulicFluid.

Definition at line 347 of file hfluid_.h.

References dDensity.

Referenced by dGetDensity().

347  {
348  return dDensity;
349  };
const doublereal dDensity
Definition: hfluid_.h:295
virtual doublereal SuperHydraulicFluid::dGetDensity ( const doublereal dPres) const
inlinevirtual

Implements HydraulicFluid.

Definition at line 351 of file hfluid_.h.

References a, dDensity, dDensityDPres, DEFAULT, HydraulicFluid::dPres0, dPresRif, dRhoZero, INFTY, SMALL, TANH, grad::tanh(), type, and ZERO.

351  {
352  switch (type) {
353  case DEFAULT:
354  default:
355  return dDensity+(dPres-dPres0)*dDensityDPres;
356  case ZERO:
357  if (dPres <= dPres0) {
358  return dDensity;
359  }
360  return dDensity+(dPres-dPres0)*dDensityDPres;
361 
362  case SMALL:
363  if (dPres <= 0.) {
364  return dDensity-dPres0*dDensityDPres+dPres*dDensityDPres*1.e-3;
365  }
366  return dDensity+(dPres-dPres0)*dDensityDPres;
367 
368  case INFTY:
369  if (dPres <= 0.) {
370  return dDensity-dPres0*dDensityDPres+dPres*1.e6;
371  }
372  return dDensity+(dPres-dPres0)*dDensityDPres;
373  case TANH:
374  doublereal d = ::dRhoZero+dDensity*.5*(1. + tanh(::a*(dPres-::dPresRif)));
375  if (dPres > ::dPresRif) {
376  d += (dPres-::dPresRif)*dDensityDPres;
377  }
378  return d;
379  }
380  };
GradientExpression< UnaryExpr< FuncTanh, Expr > > tanh(const GradientExpression< Expr > &u)
Definition: gradient.h:2982
const doublereal dDensityDPres
Definition: hfluid_.h:297
static const doublereal dRhoZero
Definition: hfluid_.h:291
static const doublereal dPresRif
Definition: hfluid_.h:290
static const int type
Definition: hfluid_.h:344
const doublereal dPres0
Definition: hfluid.h:48
const doublereal dDensity
Definition: hfluid_.h:295
static const doublereal a
Definition: hfluid_.h:289
double doublereal
Definition: colamd.c:52

Here is the call graph for this function:

virtual doublereal SuperHydraulicFluid::dGetDensity ( const doublereal dPres,
const doublereal  
) const
inlinevirtual

Implements HydraulicFluid.

Definition at line 381 of file hfluid_.h.

References dGetDensity().

382  {
383  return dGetDensity(dPres);
384  };
virtual doublereal dGetDensity(void) const
Definition: hfluid_.h:347

Here is the call graph for this function:

virtual doublereal SuperHydraulicFluid::dGetDensityDPres ( void  ) const
inlinevirtual

Implements HydraulicFluid.

Definition at line 387 of file hfluid_.h.

References dDensityDPres.

Referenced by dGetDensityDPres().

387  {
388  return dDensityDPres;
389  };
const doublereal dDensityDPres
Definition: hfluid_.h:297
virtual doublereal SuperHydraulicFluid::dGetDensityDPres ( const doublereal dPres) const
inlinevirtual

Implements HydraulicFluid.

Definition at line 391 of file hfluid_.h.

References a, grad::cosh(), dDensity, dDensityDPres, DEFAULT, dPresRif, INFTY, grad::pow(), SMALL, TANH, type, and ZERO.

391  {
392  switch (type) {
393  case DEFAULT:
394  default:
395  return dDensityDPres;
396  case ZERO:
397  if (dPres <= 0.) {
398  return 0.;
399  }
400  return dDensityDPres;
401  case SMALL:
402  if (dPres <= 0.) {
403  return dDensityDPres*1.e-3;
404  }
405  return dDensityDPres;
406  case INFTY:
407  if (dPres <= 0.) {
408  return 1.e6;
409  }
410  return dDensityDPres;
411  case TANH:
412  doublereal d = ::a*dDensity*.5/pow(cosh(::a*(dPres-::dPresRif)), 2);
413  if (dPres > ::dPresRif) {
414  d += dDensityDPres;
415  }
416  return d;
417  }
418  };
GradientExpression< BinaryExpr< FuncPow, LhsExpr, RhsExpr > > pow(const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
Definition: gradient.h:2961
const doublereal dDensityDPres
Definition: hfluid_.h:297
static const doublereal dPresRif
Definition: hfluid_.h:290
GradientExpression< UnaryExpr< FuncCosh, Expr > > cosh(const GradientExpression< Expr > &u)
Definition: gradient.h:2981
static const int type
Definition: hfluid_.h:344
const doublereal dDensity
Definition: hfluid_.h:295
static const doublereal a
Definition: hfluid_.h:289
double doublereal
Definition: colamd.c:52

Here is the call graph for this function:

virtual doublereal SuperHydraulicFluid::dGetDensityDPres ( const doublereal dPres,
const doublereal  
) const
inlinevirtual

Implements HydraulicFluid.

Definition at line 419 of file hfluid_.h.

References dGetDensityDPres().

419  {
420  return dGetDensityDPres(dPres);
421  };
virtual doublereal dGetDensityDPres(void) const
Definition: hfluid_.h:387

Here is the call graph for this function:

virtual doublereal SuperHydraulicFluid::dGetDensityDTemp ( void  ) const
inlinevirtual

Implements HydraulicFluid.

Definition at line 423 of file hfluid_.h.

423  {
424  return 0.;
425  };
virtual doublereal SuperHydraulicFluid::dGetDensityDTemp ( const doublereal ) const
inlinevirtual

Implements HydraulicFluid.

Definition at line 426 of file hfluid_.h.

426  {
427  return 0.;
428  };
virtual doublereal SuperHydraulicFluid::dGetDensityDTemp ( const doublereal ,
const doublereal  
) const
inlinevirtual

Implements HydraulicFluid.

Definition at line 429 of file hfluid_.h.

429  {
430  return 0.;
431  };
doublereal SuperHydraulicFluid::dGetViscosity ( void  ) const
inlinevirtual

Implements HydraulicFluid.

Definition at line 433 of file hfluid_.h.

References dViscosity.

Referenced by dGetViscosity().

433  {
434  return dViscosity;
435  };
const doublereal dViscosity
Definition: hfluid_.h:298
doublereal SuperHydraulicFluid::dGetViscosity ( const doublereal dPres) const
inlinevirtual

Implements HydraulicFluid.

Definition at line 437 of file hfluid_.h.

References dPresRif, and dViscosity.

437  {
438  if (dPres < ::dPresRif) {
439  return 1.e-6*dViscosity;
440  }
441  return dViscosity;
442  };
static const doublereal dPresRif
Definition: hfluid_.h:290
const doublereal dViscosity
Definition: hfluid_.h:298
doublereal SuperHydraulicFluid::dGetViscosity ( const doublereal dPres,
const doublereal  
) const
inlinevirtual

Implements HydraulicFluid.

Definition at line 444 of file hfluid_.h.

References dGetViscosity().

444  {
445  return dGetViscosity(dPres);
446  };
doublereal dGetViscosity(void) const
Definition: hfluid_.h:433

Here is the call graph for this function:

HydraulicFluid* SuperHydraulicFluid::pCopy ( void  ) const
inlinevirtual

Implements HydraulicFluid.

Definition at line 335 of file hfluid_.h.

References SAFENEWWITHCONSTRUCTOR, and SuperHydraulicFluid().

335  {
336  HydraulicFluid* pHF = NULL;
339  SuperHydraulicFluid(*this));
340  return pHF;
341  };
SuperHydraulicFluid(unsigned int Label, const doublereal &dDens, const doublereal &dB, const doublereal &dPr0, const doublereal &dVisc=0., const doublereal dTp0=-1.)
Definition: hfluid_.h:301
#define SAFENEWWITHCONSTRUCTOR(pnt, item, constructor)
Definition: mynewmem.h:698

Here is the call graph for this function:

Member Data Documentation

const doublereal SuperHydraulicFluid::dBeta
protected

Definition at line 296 of file hfluid_.h.

Referenced by SuperHydraulicFluid().

const doublereal SuperHydraulicFluid::dDensity
protected

Definition at line 295 of file hfluid_.h.

Referenced by dGetDensity(), dGetDensityDPres(), and SuperHydraulicFluid().

const doublereal SuperHydraulicFluid::dDensityDPres
protected

Definition at line 297 of file hfluid_.h.

Referenced by dGetDensity(), dGetDensityDPres(), and SuperHydraulicFluid().

const doublereal SuperHydraulicFluid::dViscosity
protected

Definition at line 298 of file hfluid_.h.

Referenced by dGetViscosity().

const int SuperHydraulicFluid::type = TANH
static

Definition at line 344 of file hfluid_.h.

Referenced by dGetDensity(), and dGetDensityDPres().


The documentation for this class was generated from the following file: