Program listing for file kernel/src/modelingTools/LagrangianLinearTIR.hpp

Program listing for file kernel/src/modelingTools/LagrangianLinearTIR.hpp#

  1#ifndef LAGRANGIANLINEARRELATION_H
  2#define LAGRANGIANLINEARRELATION_H
  3
  4#include "LagrangianR.hpp"
  5
  6
  7class LagrangianLinearTIR : public LagrangianR {
  8
  9protected:
 10
 11  ACCEPT_SERIALIZATION(LagrangianLinearTIR);
 12
 13
 14  SP::SimpleMatrix _F;
 15
 16
 17  SP::SiconosVector _e;
 18
 19public:
 20
 21  LagrangianLinearTIR() : LagrangianR(RELATION::LinearTIR){};
 22
 23
 24  LagrangianLinearTIR(SP::SimpleMatrix C);
 25
 26
 27  LagrangianLinearTIR(SP::SimpleMatrix C, SP::SimpleMatrix F,
 28                      SP::SiconosVector e);
 29
 30
 31  LagrangianLinearTIR(SP::SimpleMatrix C, SP::SiconosVector e);
 32
 33
 34  virtual ~LagrangianLinearTIR() noexcept = default;
 35
 36
 37  void checkSize(Interaction &inter) override;
 38  ;
 39
 40
 41  void computeOutput(double time, Interaction &inter,
 42                     unsigned int derivativeNumber = 0) override;
 43  ;
 44
 45
 46  void computeInput(double time, Interaction &inter,
 47                    unsigned int level = 0) override;
 48
 49
 50  void computeJach(double time, Interaction &inter) override {}
 51
 52
 53  void computeJacg(double time, Interaction &inter) override {}
 54
 55
 56
 57
 58
 59  inline SP::SimpleMatrix C() const override
 60  {
 61    return _jachq;
 62  }
 63
 64
 65  inline void setCPtr(SP::SimpleMatrix newPtr) { _jachq = newPtr; }
 66
 67
 68
 69
 70  inline SP::SimpleMatrix D() const { return _jachlambda; }
 71
 72
 73  inline void setDPtr(SP::SimpleMatrix newPtr) { _jachlambda = newPtr; }
 74
 75
 76
 77
 78  inline SP::SimpleMatrix F() const { return _F; }
 79
 80
 81  inline void setFPtr(SP::SimpleMatrix newPtr) { _F = newPtr; }
 82
 83
 84
 85
 86  inline SP::SiconosVector e() const { return _e; }
 87
 88
 89  inline void setEPtr(SP::SiconosVector newPtr) { _e = newPtr; }
 90
 91
 92  void display() const override;
 93
 94
 95
 96  bool isLinear() override
 97  {
 98    return true;
 99  }
100  ACCEPT_STD_VISITORS();
101};
102
103TYPEDEF_SPTR(LagrangianLinearTIR)
104
105#endif