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

#include <thermalresistance.h>

Inheritance diagram for ThermalResistance:
Collaboration diagram for ThermalResistance:

Public Member Functions

 ThermalResistance (unsigned int uL, const DofOwner *pDO, const ThermalNode *p1, const ThermalNode *p2, doublereal r, flag fOut)
 
 ~ThermalResistance (void)
 
virtual Thermal::Type GetThermalType (void) const
 
virtual void WorkSpaceDim (integer *piNumRows, integer *piNumCols) const
 
VariableSubMatrixHandlerAssJac (VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
SubVectorHandlerAssRes (SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void GetConnectedNodes (std::vector< const Node * > &connectedNodes) const
 
- Public Member Functions inherited from Thermal
 Thermal (unsigned int uL, const DofOwner *pDO, flag fOut)
 
virtual ~Thermal (void)
 
virtual std::ostream & Restart (std::ostream &out) const
 
virtual Elem::Type GetElemType (void) const
 
- Public Member Functions inherited from Elem
 Elem (unsigned int uL, flag fOut)
 
virtual ~Elem (void)
 
virtual unsigned int iGetNumDof (void) const
 
virtual std::ostream & DescribeDof (std::ostream &out, const char *prefix="", bool bInitial=false) const
 
virtual void DescribeDof (std::vector< std::string > &desc, bool bInitial=false, int i=-1) const
 
virtual std::ostream & DescribeEq (std::ostream &out, const char *prefix="", bool bInitial=false) const
 
virtual void DescribeEq (std::vector< std::string > &desc, bool bInitial=false, int i=-1) const
 
virtual DofOrder::Order GetDofType (unsigned int) const
 
virtual void AssMats (VariableSubMatrixHandler &WorkMatA, VariableSubMatrixHandler &WorkMatB, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual bool bInverseDynamics (void) const
 
void SetInverseDynamicsFlags (unsigned uIDF)
 
unsigned GetInverseDynamicsFlags (void) const
 
bool bIsErgonomy (void) const
 
bool bIsRightHandSide (void) const
 
virtual VariableSubMatrixHandlerAssJac (VariableSubMatrixHandler &WorkMat, const VectorHandler &XCurr)
 
virtual SubVectorHandlerAssRes (SubVectorHandler &WorkVec, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr, const VectorHandler &XPrimePrimeCurr, InverseDynamics::Order iOrder=InverseDynamics::INVERSE_DYNAMICS)
 
virtual int GetNumConnectedNodes (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
 
- Public Member Functions inherited from SimulationEntity
 SimulationEntity (void)
 
virtual ~SimulationEntity (void)
 
virtual bool bIsValidIndex (unsigned int i) const
 
virtual DofOrder::Order GetEqType (unsigned int i) const
 
virtual void SetValue (DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *h=0)
 
virtual HintParseHint (DataManager *pDM, const char *s) const
 
virtual void BeforePredict (VectorHandler &, VectorHandler &, VectorHandler &, VectorHandler &) const
 
virtual void AfterPredict (VectorHandler &X, VectorHandler &XP)
 
virtual void Update (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void DerivativesUpdate (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void Update (const VectorHandler &XCurr, InverseDynamics::Order iOrder)
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP)
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP, const VectorHandler &XPP)
 
virtual unsigned int iGetNumPrivData (void) const
 
virtual unsigned int iGetPrivDataIdx (const char *s) const
 
virtual doublereal dGetPrivData (unsigned int i) const
 
virtual std::ostream & OutputAppend (std::ostream &out) const
 
virtual void ReadInitialState (MBDynParser &HP)
 
- Public Member Functions inherited from ToBeOutput
 ToBeOutput (flag fOut=fDefaultOut)
 
virtual ~ToBeOutput (void)
 
virtual void OutputPrepare (OutputHandler &OH)
 
virtual void Output (OutputHandler &OH) const
 
virtual void Output (OutputHandler &OH, const VectorHandler &X, const VectorHandler &XP) const
 
virtual flag fToBeOutput (void) const
 
virtual bool bToBeOutput (void) const
 
virtual void SetOutputFlag (flag f=flag(1))
 
- Public Member Functions inherited from ElemWithDofs
 ElemWithDofs (unsigned int uL, const DofOwner *pDO, flag fOut)
 
virtual ~ElemWithDofs (void)
 
- Public Member Functions inherited from DofOwnerOwner
 DofOwnerOwner (const DofOwner *pDO)
 
virtual ~DofOwnerOwner ()
 
virtual const DofOwnerpGetDofOwner (void) const
 
virtual integer iGetFirstIndex (void) const
 
virtual void SetInitialValue (VectorHandler &X)
 

Private Attributes

const ThermalNodepNode1
 
const ThermalNodepNode2
 
doublereal thermalresistance
 

Additional Inherited Members

- Public Types inherited from Thermal
enum  Type {
  UNKNOWN = -1, THERMALRESISTANCE = 0, THERMALCAPACITANCE, THERMALSOURCE,
  LASTTHERMLATYPE
}
 
- Public Types inherited from Elem
enum  Type {
  UNKNOWN = -1, AIRPROPERTIES = 0, INDUCEDVELOCITY, AUTOMATICSTRUCTURAL,
  GRAVITY, BODY, JOINT, JOINT_REGULARIZATION,
  BEAM, PLATE, FORCE, INERTIA,
  ELECTRICBULK, ELECTRIC, THERMAL, HYDRAULIC,
  BULK, LOADABLE, DRIVEN, EXTERNAL,
  AEROMODAL, AERODYNAMIC, GENEL, SOCKETSTREAM_OUTPUT,
  RTAI_OUTPUT = SOCKETSTREAM_OUTPUT, LASTELEMTYPE
}
 
- Public Types inherited from SimulationEntity
typedef std::vector< Hint * > Hints
 
- Public Types inherited from ToBeOutput
enum  { OUTPUT = 0x1U, OUTPUT_MASK = 0xFU, OUTPUT_PRIVATE = 0x10U, OUTPUT_PRIVATE_MASK = ~OUTPUT_MASK }
 
- Protected Attributes inherited from WithLabel
unsigned int uLabel
 
std::string sName
 
- Protected Attributes inherited from ToBeOutput
flag fOutput
 

Detailed Description

Definition at line 7 of file thermalresistance.h.

Constructor & Destructor Documentation

ThermalResistance::ThermalResistance ( unsigned int  uL,
const DofOwner pDO,
const ThermalNode p1,
const ThermalNode p2,
doublereal  r,
flag  fOut 
)

Definition at line 6 of file thermalresistance.cc.

References NO_OP.

10  :
11 Elem(uL, fOut),
12 Thermal(uL, pDO, fOut),
13 pNode1(p1),
14 pNode2(p2),
16  NO_OP;
17 };
Thermal(unsigned int uL, const DofOwner *pDO, flag fOut)
Definition: therm.cc:45
const ThermalNode * pNode1
#define NO_OP
Definition: myassert.h:74
const ThermalNode * pNode2
doublereal thermalresistance
Elem(unsigned int uL, flag fOut)
Definition: elem.cc:41
ThermalResistance::~ThermalResistance ( void  )

Definition at line 19 of file thermalresistance.cc.

19 {};

Member Function Documentation

VariableSubMatrixHandler & ThermalResistance::AssJac ( VariableSubMatrixHandler WorkMat,
doublereal  dCoef,
const VectorHandler XCurr,
const VectorHandler XPrimeCurr 
)
virtual

Implements Elem.

Definition at line 32 of file thermalresistance.cc.

References FullSubMatrixHandler::DecCoef(), Node::iGetFirstColIndex(), Node::iGetFirstRowIndex(), FullSubMatrixHandler::IncCoef(), pNode1, pNode2, FullSubMatrixHandler::PutColIndex(), FullSubMatrixHandler::PutRowIndex(), FullSubMatrixHandler::ResizeReset(), VariableSubMatrixHandler::SetFull(), thermalresistance, and WorkSpaceDim().

35  {
36  /* Setta la sottomatrice come piena (e' un po' dispersivo, ma lo jacobiano
37  * e' complicato */
38  FullSubMatrixHandler& WM = WorkMat.SetFull();
39 
40  /* Ridimensiona la sottomatrice in base alle esigenze */
41  integer iNumRows = 0;
42  integer iNumCols = 0;
43 
44  WorkSpaceDim(&iNumRows, &iNumCols);
45  WM.ResizeReset(iNumRows, iNumCols);
46 
47  integer iNode1RowIndex = pNode1->iGetFirstRowIndex() + 1;
48  integer iNode2RowIndex = pNode2->iGetFirstRowIndex() + 1;
49  integer iNode1ColIndex = pNode1->iGetFirstColIndex() + 1;
50  integer iNode2ColIndex = pNode2->iGetFirstColIndex() + 1;
51 
52  WM.PutRowIndex(1, iNode1RowIndex);
53  WM.PutColIndex(1, iNode1ColIndex);
54  WM.PutRowIndex(2, iNode2RowIndex);
55  WM.PutColIndex(2, iNode2ColIndex);
56 
57  doublereal ri = 1. / thermalresistance * dCoef;
58 
59  WM.IncCoef(1, 1, ri);
60  WM.DecCoef(1, 2, ri);
61  WM.DecCoef(2, 1, ri);
62  WM.IncCoef(2, 2, ri);
63 
64  return WorkMat;
65 };
void PutColIndex(integer iSubCol, integer iCol)
Definition: submat.h:325
FullSubMatrixHandler & SetFull(void)
Definition: submat.h:1168
const ThermalNode * pNode1
void IncCoef(integer iRow, integer iCol, const doublereal &dCoef)
Definition: submat.h:683
const ThermalNode * pNode2
void DecCoef(integer iRow, integer iCol, const doublereal &dCoef)
Definition: submat.h:694
doublereal thermalresistance
virtual integer iGetFirstRowIndex(void) const
Definition: node.cc:82
virtual void ResizeReset(integer, integer)
Definition: submat.cc:182
void PutRowIndex(integer iSubRow, integer iRow)
Definition: submat.h:311
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
double doublereal
Definition: colamd.c:52
long int integer
Definition: colamd.c:51
virtual integer iGetFirstColIndex(void) const
Definition: node.cc:88

Here is the call graph for this function:

SubVectorHandler & ThermalResistance::AssRes ( SubVectorHandler WorkVec,
doublereal  dCoef,
const VectorHandler XCurr,
const VectorHandler XPrimeCurr 
)
virtual

Implements Elem.

Definition at line 67 of file thermalresistance.cc.

References VectorHandler::DecCoef(), ScalarDifferentialNode::dGetX(), Node::iGetFirstRowIndex(), VectorHandler::IncCoef(), pNode1, pNode2, SubVectorHandler::PutRowIndex(), VectorHandler::ResizeReset(), thermalresistance, and WorkSpaceDim().

70  {
71  integer iNumRows = 0;
72  integer iNumCols = 0;
73  WorkSpaceDim(&iNumRows, &iNumCols);
74  WorkVec.ResizeReset(iNumRows);
75 
76  /* Indici */
77  integer iNode1RowIndex = pNode1->iGetFirstRowIndex() + 1;
78  integer iNode2RowIndex = pNode2->iGetFirstRowIndex() + 1;
79 
80  WorkVec.PutRowIndex(1, iNode1RowIndex);
81  WorkVec.PutRowIndex(2, iNode2RowIndex);
82 
83  double t1 = pNode1->dGetX();
84  double t2 = pNode2->dGetX();
85 
86  doublereal q21 = (t2 - t1) / thermalresistance;
87 
88  WorkVec.IncCoef(1, q21);
89  WorkVec.DecCoef(2, q21);
90 
91  return WorkVec;
92 };
virtual void ResizeReset(integer)
Definition: vh.cc:55
virtual void IncCoef(integer iRow, const doublereal &dCoef)=0
const ThermalNode * pNode1
const ThermalNode * pNode2
virtual void PutRowIndex(integer iSubRow, integer iRow)=0
virtual void DecCoef(integer iRow, const doublereal &dCoef)=0
doublereal thermalresistance
virtual integer iGetFirstRowIndex(void) const
Definition: node.cc:82
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
double doublereal
Definition: colamd.c:52
long int integer
Definition: colamd.c:51
virtual const doublereal & dGetX(void) const
Definition: node.h:386

Here is the call graph for this function:

void ThermalResistance::GetConnectedNodes ( std::vector< const Node * > &  connectedNodes) const
virtual

Reimplemented from Elem.

Definition at line 105 of file thermalresistance.cc.

References pNode1, and pNode2.

105  {
106  connectedNodes.resize(2);
107  connectedNodes[0] = pNode1;
108  connectedNodes[1] = pNode2;
109 };
const ThermalNode * pNode1
const ThermalNode * pNode2
Thermal::Type ThermalResistance::GetThermalType ( void  ) const
virtual

Implements Thermal.

Definition at line 22 of file thermalresistance.cc.

References Thermal::THERMALRESISTANCE.

22  {
23  return THERMALRESISTANCE;
24 };
void ThermalResistance::WorkSpaceDim ( integer piNumRows,
integer piNumCols 
) const
virtual

Implements Elem.

Definition at line 26 of file thermalresistance.cc.

Referenced by AssJac(), and AssRes().

26  {
27  *piNumRows = 2;
28  *piNumCols = 2;
29 };

Member Data Documentation

const ThermalNode* ThermalResistance::pNode1
private

Definition at line 9 of file thermalresistance.h.

Referenced by AssJac(), AssRes(), and GetConnectedNodes().

const ThermalNode* ThermalResistance::pNode2
private

Definition at line 10 of file thermalresistance.h.

Referenced by AssJac(), AssRes(), and GetConnectedNodes().

doublereal ThermalResistance::thermalresistance
private

Definition at line 11 of file thermalresistance.h.

Referenced by AssJac(), and AssRes().


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