MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
ChebychevSFR Struct Reference
Inheritance diagram for ChebychevSFR:
Collaboration diagram for ChebychevSFR:

Public Member Functions

virtual const BasicScalarFunctionRead (DataManager *const pDM, MBDynParser &HP) const
 
- Public Member Functions inherited from ScalarFunctionRead
virtual ~ScalarFunctionRead (void)
 

Detailed Description

Definition at line 761 of file ScalarFunctionsImpl.cc.

Member Function Documentation

virtual const BasicScalarFunction* ChebychevSFR::Read ( DataManager *const  pDM,
MBDynParser HP 
) const
inlinevirtual

Implements ScalarFunctionRead.

Definition at line 763 of file ScalarFunctionsImpl.cc.

References a, IncludeParser::GetLineData(), HighParser::GetReal(), HighParser::IsArg(), HighParser::IsKeyWord(), MBDYN_EXCEPT_ARGS, and order.

763  {
764  doublereal a = HP.GetReal();
765  doublereal b = HP.GetReal();
766  bool doNotExtrapolate(false);
767  if (HP.IsKeyWord("do" "not" "extrapolate")) {
768  doNotExtrapolate = true;
769  }
770  if (b <= a) {
771  silent_cerr("Upper interval bound "
772  "of Chebychev series b=" << b
773  << " must be larger than lower bound a=" << a
774  << " at line" << HP.GetLineData() << std::endl);
776 
777  }
778  std::vector<doublereal> v;
779  while (HP.IsArg() && !HP.IsKeyWord("end")) {
780  int size = v.size();
781  v.resize(size+1);
782  v[size] = HP.GetReal();
783  }
784  unsigned order = v.size();
785  if (order == 0) {
786  silent_cerr("Need at least one Chebychev series coefficient "
787  << "at line" << HP.GetLineData() << std::endl);
789  }
790  return new ChebychevScalarFunction(v, a, b, doNotExtrapolate);
791  };
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
enum @55 order
virtual bool IsKeyWord(const char *sKeyWord)
Definition: parser.cc:910
virtual bool IsArg(void)
Definition: parser.cc:807
static const doublereal a
Definition: hfluid_.h:289
double doublereal
Definition: colamd.c:52
virtual HighParser::ErrOut GetLineData(void) const
Definition: parsinc.cc:697
virtual doublereal GetReal(const doublereal &dDefval=0.0)
Definition: parser.cc:1056

Here is the call graph for this function:


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