MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
valve.h
Go to the documentation of this file.
1 /* $Header: /var/cvs/mbdyn/mbdyn/mbdyn-1.0/mbdyn/hydr/valve.h,v 1.30 2017/01/12 14:46:32 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 /*
33  * Copyright 1999-2000 Lamberto Puggelli <puggelli@tiscalinet.it>
34  * Dipartimento di Ingegneria Aerospaziale - Politecnico di Milano
35  */
36 
37 #ifndef VALVE_H
38 #define VALVE_H
39 
40 #include <preselem.h>
41 
42 /* Control_valve - begin */
43 
44 class Control_valve : virtual public Elem, public HydraulicElem, public DriveOwner {
45  private:
51  doublereal Cd; /* coefficiente di perdita */
52  doublereal area_max; /* larghezza del condotto: A=x*area_max */
53  doublereal loss_area; /* area di trafilamento in % sull'area max*/
55  doublereal flow1; /* portata nodo 1 (per l'output) */
56  doublereal flow2; /* portata nodo 2 (per l'output) */
57  doublereal flow3; /* portata nodo 3 (per l'output) */
58  doublereal flow4; /* portata nodo 4 (per l'output) */
67 
68  public:
69  Control_valve(unsigned int uL, const DofOwner* pD, HydraulicFluid* hf,
70  const PressureNode* p1, const PressureNode* p2,
71  const PressureNode* p3, const PressureNode* p4,
72  doublereal A_max, doublereal Loss_a, const DriveCaller* pDC,flag fOut);
73 
74  ~Control_valve(void);
75 
76  /* Tipo di elemento idraulico (usato solo per debug ecc.) */
77  virtual HydraulicElem::Type GetHydraulicType(void) const;
78 
79  /* Contributo al file di restart */
80  virtual std::ostream& Restart(std::ostream& out) const;
81 
82  virtual unsigned int iGetNumDof(void) const;
83  virtual DofOrder::Order GetDofType(unsigned int i) const;
84 
85  virtual void WorkSpaceDim(integer* piNumRows, integer* piNumCols) const;
86 
88  doublereal dCoef,
89  const VectorHandler& XCurr,
90  const VectorHandler& XPrimeCurr);
91 
93  doublereal dCoef,
94  const VectorHandler& XCurr,
95  const VectorHandler& XPrimeCurr);
96 
97  virtual void Output(OutputHandler& OH) const;
98 
99  /* *******PER IL SOLUTORE PARALLELO******** */
100  /* Fornisce il tipo e la label dei nodi che sono connessi all'elemento
101  utile per l'assemblaggio della matrice di connessione fra i dofs */
102  virtual void GetConnectedNodes(std::vector<const Node *>& connectedNodes) const {
103  connectedNodes.resize(4);
104  connectedNodes[0] = pNode1;
105  connectedNodes[1] = pNode2;
106  connectedNodes[2] = pNode3;
107  connectedNodes[3] = pNode4;
108  };
109  /* ************************************************ */
110 };
111 
112 /* Control_valve - end */
113 
114 
115 /* Control_valve2 - begin */
116 
117 #define VALVE_6
118 // #undef VALVE_6
119 
121 : virtual public Elem, public HydraulicElem, public DriveOwner {
122 private:
123  /*
124  *
125  * Node 1 Node 4
126  * __
127  * | \ | / \
128  * | \ / |
129  * | \/ |
130  * | /\ |
131  * \ / / __| |
132  *
133  * Node 2 Node 3
134  *
135  */
136  enum {
137  N1 = 0,
138  N2 = 1,
139  N3 = 2,
140  N4 = 3,
141  LAST_N = 4
142  };
143  enum {
144  Q12 = 0,
145  Q34 = 1,
146  Q13 = 2,
147  Q24 = 3,
148 #ifdef VALVE_6
149  Q14 = 4,
150  Q23 = 5,
151  LAST_Q = 6
152 #else /* !VALVE_6 */
153  LAST_Q = 4
154 #endif /* !VALVE_6 */
155  };
156 
161 
163  doublereal Cd; /* coefficiente di perdita */
164  doublereal area_max; /* larghezza del condotto: A=x*area_max */
165  doublereal loss_area; /* area di trafilamento in % sull'area max */
166  doublereal area_min; /* area di trafilamento = area_max*loss_area */
170 
171  /* gathers data from nodes and computes intermediate member data */
172  void Prepare(void);
173 
174 public:
175  Control_valve2(unsigned int uL, const DofOwner* pD, HydraulicFluid* hf,
176  const PressureNode* p1, const PressureNode* p2,
177  const PressureNode* p3, const PressureNode* p4,
178  doublereal A_max, doublereal Loss_a,
179  const DriveCaller* pDC,flag fOut);
180 
181  ~Control_valve2(void);
182 
183  /* Tipo di elemento idraulico (usato solo per debug ecc.) */
184  virtual HydraulicElem::Type GetHydraulicType(void) const;
185 
186  /* Contributo al file di restart */
187  virtual std::ostream& Restart(std::ostream& out) const;
188 
189  virtual unsigned int iGetNumDof(void) const;
190  virtual DofOrder::Order GetDofType(unsigned int i) const;
191 
192  virtual void WorkSpaceDim(integer* piNumRows, integer* piNumCols) const;
193 
195  doublereal dCoef, const VectorHandler& XCurr,
196  const VectorHandler& XPrimeCurr);
197 
199  doublereal dCoef, const VectorHandler& XCurr,
200  const VectorHandler& XPrimeCurr);
201 
202  virtual void Output(OutputHandler& OH) const;
203 
204  virtual void SetValue(DataManager *pDM,
206  SimulationEntity::Hints *ph = 0);
207 
208  /* *******PER IL SOLUTORE PARALLELO******** */
209  /* Fornisce il tipo e la label dei nodi che sono connessi all'elemento
210  * utile per l'assemblaggio della matrice di connessione fra i dofs */
211  virtual void GetConnectedNodes(std::vector<const Node *>& connectedNodes) const {
212  connectedNodes.resize(4);
213  connectedNodes[0] = pNode[N1];
214  connectedNodes[1] = pNode[N2];
215  connectedNodes[2] = pNode[N3];
216  connectedNodes[3] = pNode[N4];
217  };
218  /* ************************************************ */
219 };
220 
221 /* Control_valve2 - end */
222 
223 
224 /* Control_valve_dinamica - begin */
225 
226 class Dynamic_control_valve : virtual public Elem, public HydraulicElem, public DriveOwner {
227  private:
232  doublereal start; /* posizione iniziale della valvola */
233  doublereal c_spost; /* coef dello spostamento */
234  doublereal c_vel; /* coef della velocita' */
235  doublereal c_acc; /* coef dell'accelerazione */
236  doublereal Force; /* forza applicata alla valvola */
237 
238  doublereal Cd; /* coefficiente di perdita */
239  doublereal width; /* larghezza del condotto: A=x*width */
240  doublereal loss_area; /* area di trafilamento in % sull'area max*/
241  doublereal valve_diameter; /* diametro della valvola */
242  doublereal valve_density; /* densita' del corpo della valvola */
243 
244  doublereal s_max; /* corsa massima della valvola */
245 
246  doublereal A1; /* area di collegamento nodo 1 & nodo 2 */
247  doublereal A2; /* area di collegamento nodo 1 & nodo 3 */
248  doublereal A3; /* area di collegamento nodo 3 & nodo 4 */
249  doublereal A4; /* area di collegamento nodo 2 & nodo 4 */
250 
251  doublereal Mass; /* massa del corpo della valvola */
252  doublereal flow1; /* portata nodo 1 (per l'output) */
253  doublereal flow2; /* portata nodo 2 (per l'output) */
254  doublereal flow3; /* portata nodo 3 (per l'output) */
255  doublereal flow4; /* portata nodo 4 (per l'output) */
256  doublereal s; /* spostamento valvola (per l'output) */
257  doublereal v; /* velocita' valvola (per l'output) */
258  doublereal sp; /* velocita' valvola */
259  doublereal vp; /* accelerazione valvola (per l'output) */
260  doublereal c1; /* coef dello spostamento */
261  doublereal c2; /* coef della velocita' */
262  doublereal c3; /* coef dell'accelerazione */
263  doublereal cf1; /* coef dello spostamento finale */
264  doublereal cf2; /* coef della velocita' finale */
265  doublereal cf3; /* coef dell'accelerazione finale */
266  doublereal deltaP; /* salto di pressione p1-p2+p3 */
267 
268  public:
269  Dynamic_control_valve(unsigned int uL, const DofOwner* pD,
270  HydraulicFluid* hf,
271  const PressureNode* p1, const PressureNode* p2,
272  const PressureNode* p3, const PressureNode* p4,
273  const DriveCaller* pDC, doublereal s0,
274  doublereal s_mx, doublereal W, doublereal Loss_A,
275  doublereal Valve_d, doublereal Valve_rho,
276  doublereal cs, doublereal cv, doublereal ca, flag fOut);
277 
279 
280  /* Tipo di elemento idraulico (usato solo per debug ecc.) */
281  virtual HydraulicElem::Type GetHydraulicType(void) const;
282 
283  /* Contributo al file di restart */
284  virtual std::ostream& Restart(std::ostream& out) const;
285 
286  virtual unsigned int iGetNumDof(void) const;
287  virtual DofOrder::Order GetDofType(unsigned int i) const;
288 
289  virtual void WorkSpaceDim(integer* piNumRows, integer* piNumCols) const;
290 
292  doublereal dCoef,
293  const VectorHandler& XCurr,
294  const VectorHandler& XPrimeCurr);
295 
297  doublereal dCoef,
298  const VectorHandler& XCurr,
299  const VectorHandler& XPrimeCurr);
300 
301  virtual void Output(OutputHandler& OH) const;
302 
303  virtual void SetValue(DataManager *pDM,
305  SimulationEntity::Hints *ph = 0);
306 
307  /* *******PER IL SOLUTORE PARALLELO******** */
308  /* Fornisce il tipo e la label dei nodi che sono connessi all'elemento
309  utile per l'assemblaggio della matrice di connessione fra i dofs */
310  virtual void GetConnectedNodes(std::vector<const Node *>& connectedNodes) const {
311  connectedNodes.resize(4);
312  connectedNodes[0] = pNode1;
313  connectedNodes[1] = pNode2;
314  connectedNodes[2] = pNode3;
315  connectedNodes[3] = pNode4;
316  };
317  /* ************************************************ */
318 };
319 
320 /* Dynamic_control_valve - end */
321 
322 /* Pressure flow control_valve_dinamica - begin */
323 
324 class Pressure_flow_control_valve : virtual public Elem, public HydraulicElem, public DriveOwner {
325  private:
332  doublereal start; /* posizione iniziale della valvola */
333  doublereal c_spost; /* coef dello spostamento */
334  doublereal c_vel; /* coef della velocita' */
335  doublereal c_acc; /* coef dell'accelerazione */
336  doublereal Force; /* forza applicata alla valvola */
337 
338  doublereal Cd; /* coefficiente di perdita */
339  doublereal width; /* larghezza del condotto: A=x*width */
340  doublereal loss_area; /* area di trafilamento in % sull'area max*/
341  doublereal valve_diameter; /* diametro della valvola */
342  doublereal valve_density; /* densita' del corpo della valvola */
343  doublereal valve_area; /* area della valvola */
344  doublereal s_max; /* corsa massima della valvola */
345 
346  doublereal A1; /* area di collegamento nodo 1 & nodo 2 */
347  doublereal A2; /* area di collegamento nodo 1 & nodo 3 */
348  doublereal A3; /* area di collegamento nodo 3 & nodo 4 */
349  doublereal A4; /* area di collegamento nodo 2 & nodo 4 */
350 
351  doublereal Mass; /* massa del corpo della valvola */
352  doublereal flow1; /* portata nodo 1 (per l'output) */
353  doublereal flow2; /* portata nodo 2 (per l'output) */
354  doublereal flow3; /* portata nodo 3 (per l'output) */
355  doublereal flow4; /* portata nodo 4 (per l'output) */
356  doublereal flow5; /* portata nodo 5 (per l'output) */
357  doublereal flow6; /* portata nodo 6 (per l'output) */
358 
359  doublereal s; /* spostamento valvola (per l'output) */
360  doublereal v; /* velocita' valvola (per l'output) */
361  doublereal sp; /* velocita' valvola */
362  doublereal vp; /* accelerazione valvola (per l'output) */
363  doublereal c1; /* coef dello spostamento */
364  doublereal c2; /* coef della velocita' */
365  doublereal c3; /* coef dell'accelerazione */
366  doublereal cf1; /* coef dello spostamento finale */
367  doublereal cf2; /* coef della velocita' finale */
368  doublereal cf3; /* coef dell'accelerazione finale */
369  doublereal deltaP; /* salto di pressione p1-p2+p3 */
370 
371  public:
372  Pressure_flow_control_valve(unsigned int uL, const DofOwner* pD,
373  HydraulicFluid* hf,
374  const PressureNode* p1, const PressureNode* p2,
375  const PressureNode* p3, const PressureNode* p4,
376  const PressureNode* p5, const PressureNode* p6,
377  const DriveCaller* pDC, doublereal s0,
378  doublereal s_mx, doublereal W, doublereal Loss_A,
379  doublereal Valve_d, doublereal Valve_rho,
380  doublereal cs, doublereal cv, doublereal ca, flag fOut);
381 
383 
384  /* Tipo di elemento idraulico (usato solo per debug ecc.) */
385  virtual HydraulicElem::Type GetHydraulicType(void) const;
386 
387  /* Contributo al file di restart */
388  virtual std::ostream& Restart(std::ostream& out) const;
389 
390  virtual unsigned int iGetNumDof(void) const;
391  virtual DofOrder::Order GetDofType(unsigned int i) const;
392 
393  virtual void WorkSpaceDim(integer* piNumRows, integer* piNumCols) const;
394 
396  doublereal dCoef,
397  const VectorHandler& XCurr,
398  const VectorHandler& XPrimeCurr);
399 
401  doublereal dCoef,
402  const VectorHandler& XCurr,
403  const VectorHandler& XPrimeCurr);
404 
405  virtual void Output(OutputHandler& OH) const;
406 
407  virtual void SetValue(DataManager *pDM,
409  SimulationEntity::Hints *ph = 0);
410 
411  /* *******PER IL SOLUTORE PARALLELO******** */
412  /* Fornisce il tipo e la label dei nodi che sono connessi all'elemento
413  utile per l'assemblaggio della matrice di connessione fra i dofs */
414  virtual void GetConnectedNodes(std::vector<const Node *>& connectedNodes) const {
415  connectedNodes.resize(6);
416  connectedNodes[0] = pNode1;
417  connectedNodes[1] = pNode2;
418  connectedNodes[2] = pNode3;
419  connectedNodes[3] = pNode4;
420  connectedNodes[4] = pNode5;
421  connectedNodes[5] = pNode6;
422  };
423  /* ************************************************ */
424 };
425 
426 /* Pressure_flow_control_valve - end */
427 
428 
429 /* Pressure_valve - begin */
430 
431 class Pressure_valve : virtual public Elem, public HydraulicElem {
432  private:
435  doublereal area_diaf; /* area diaframma */
436  doublereal mass; /* massa valvola */
437  doublereal area_max; /* area maggiore della valvola */
438  doublereal Kappa; /* costante della molla */
439  doublereal force0; /* precarico della molla */
440  doublereal width; /* larghezza luce di passaggio */
441  doublereal s_max; /* corsa massima della valvola */
442  doublereal c_spost; /* coef dello spostamento */
443  doublereal c_vel; /* coef della velocita' */
444  doublereal c_acc; /* coef dell'accelerazione */
445  doublereal c1; /* coef dello spostamento */
446  doublereal c2; /* coef della velocita' */
447  doublereal c3; /* coef dell'accelerazione */
448  doublereal c4; /* coef. per il termine costante */
449  doublereal cf1; /* coef dello spostamento finale */
450  doublereal cf2; /* coef della velocita' finale */
451  doublereal cf3; /* coef dell'accelerazione finale */
452  doublereal cf4; /* coef. per il termine costante finale */
453 
454  doublereal s; /* spostamento diaframma (per l'output) */
455  doublereal v; /* velocita' diaframma (per l'output) */
456  doublereal sp; /* velocita' diaframma */
457  doublereal vp; /* accelerazione diaframma (per l'output) */
458  doublereal flow1; /* portata nodo 1 (per l'output) */
459  doublereal flow2; /* portata nodo 2 (per l'output) */
460 
461  public:
462  Pressure_valve(unsigned int uL, const DofOwner* pD,
463  HydraulicFluid* hf,
464  const PressureNode* p1, const PressureNode* p2,
465  doublereal A_dia, doublereal mv,
466  doublereal A_max, doublereal s_mx, doublereal K,
467  doublereal F0, doublereal w,
468  doublereal cs, doublereal cv, doublereal ca, flag fOut);
469 
470  ~Pressure_valve(void);
471 
472  /* Tipo di elemento idraulico (usato solo per debug ecc.) */
473  virtual HydraulicElem::Type GetHydraulicType(void) const;
474 
475  /* Contributo al file di restart */
476  virtual std::ostream& Restart(std::ostream& out) const;
477 
478  virtual unsigned int iGetNumDof(void) const;
479  virtual DofOrder::Order GetDofType(unsigned int i) const;
480 
481  virtual void WorkSpaceDim(integer* piNumRows, integer* piNumCols) const;
482 
484  doublereal dCoef,
485  const VectorHandler& XCurr,
486  const VectorHandler& XPrimeCurr);
487 
489  doublereal dCoef,
490  const VectorHandler& XCurr,
491  const VectorHandler& XPrimeCurr);
492 
493  virtual void Output(OutputHandler& OH) const;
494 
495  virtual void SetValue(DataManager *pDM,
497  SimulationEntity::Hints *ph = 0);
498 
499  /* *******PER IL SOLUTORE PARALLELO******** */
500  /* Fornisce il tipo e la label dei nodi che sono connessi all'elemento
501  utile per l'assemblaggio della matrice di connessione fra i dofs */
502  virtual void GetConnectedNodes(std::vector<const Node *>& connectedNodes) const {
503  connectedNodes.resize(2);
504  connectedNodes[0] = pNode1;
505  connectedNodes[1] = pNode2;
506  };
507  /* ************************************************ */
508 
509 };
510 
511 /* Pressure_valve - end */
512 
513 
514 /* Flow_valve - begin */
515 
516 class Flow_valve : virtual public Elem, public HydraulicElem {
517  private:
521  doublereal area_diaf; /* area diaframma */
522  doublereal mass; /* massa valvola */
523  doublereal area_pipe; /* area del tubo */
524  doublereal area_max; /* area maggiore della valvola */
525  doublereal Kappa; /* costante della molla */
526  doublereal force0; /* precarico della molla */
527  doublereal width; /* larghezza luce di passaggio */
528  doublereal s_max; /* corsa massima della valvola */
529  doublereal c_spost; /* coef dello spostamento */
530  doublereal c_vel; /* coef della velocita' */
531  doublereal c_acc; /* coef dell'accelerazione */
532  doublereal c1; /* coef dello spostamento */
533  doublereal c2; /* coef della velocita' */
534  doublereal c3; /* coef dell'accelerazione */
535  doublereal c4; /* coef. per il termine costante */
536  doublereal cf1; /* coef dello spostamento finale */
537  doublereal cf2; /* coef della velocita' finale */
538  doublereal cf3; /* coef dell'accelerazione finale */
539  doublereal cf4; /* coef. per il termine costante finale */
540 
541  doublereal h; /* perdita di carico concentrata tra i nodi 1 e 2 (smorza il moto della valvola) */
542  doublereal s; /* spostamento valvola (per l'output) */
543  doublereal sp; /* velocita' valvola (per l'output) */
544  doublereal v; /* velocita' valvola (per l'output) */
545  doublereal vp; /* accelerazione valvola (per l'output) */
546  doublereal flow1; /* portata nodo 1 (per l'output) */
547  doublereal flow2; /* portata nodo 2 (per l'output) */
548  doublereal flow3; /* portata nodo 3 (per l'output) */
549 
550  public:
551  Flow_valve(unsigned int uL, const DofOwner* pD, HydraulicFluid* hf,
552  const PressureNode* p1, const PressureNode* p2,
553  const PressureNode* p3, doublereal A_dia,
554  doublereal mv, doublereal A_pipe,doublereal A_max,
556  doublereal cs, doublereal cv, doublereal ca, flag fOut);
557 
558  ~Flow_valve(void);
559 
560  /* Tipo di elemento idraulico (usato solo per debug ecc.) */
561  virtual HydraulicElem::Type GetHydraulicType(void) const;
562 
563  /* Contributo al file di restart */
564  virtual std::ostream& Restart(std::ostream& out) const;
565 
566  virtual unsigned int iGetNumDof(void) const;
567  virtual DofOrder::Order GetDofType(unsigned int i) const;
568 
569  virtual void WorkSpaceDim(integer* piNumRows, integer* piNumCols) const;
570 
572  doublereal dCoef,
573  const VectorHandler& XCurr,
574  const VectorHandler& XPrimeCurr);
575 
577  doublereal dCoef,
578  const VectorHandler& XCurr,
579  const VectorHandler& XPrimeCurr);
580 
581  virtual void Output(OutputHandler& OH) const;
582 
583  virtual void SetValue(DataManager *pDM,
585  SimulationEntity::Hints *ph = 0);
586 
587  /* *******PER IL SOLUTORE PARALLELO******** */
588  /* Fornisce il tipo e la label dei nodi che sono connessi all'elemento
589  utile per l'assemblaggio della matrice di connessione fra i dofs */
590  virtual void GetConnectedNodes(std::vector<const Node *>& connectedNodes) const {
591  connectedNodes.resize(3);
592  connectedNodes[0] = pNode1;
593  connectedNodes[1] = pNode2;
594  connectedNodes[2] = pNode3;
595  };
596  /* ************************************************ */
597 };
598 
599 /* Flow_valve - end */
600 
601 #endif /* VALVE_H */
602 
virtual HydraulicElem::Type GetHydraulicType(void) const
Definition: valve.cc:1882
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
Definition: valve.cc:705
doublereal sp
Definition: valve.h:258
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
Definition: valve.cc:1154
doublereal deltaP
Definition: valve.h:266
doublereal A2
Definition: valve.h:247
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
Definition: valve.cc:112
doublereal s
Definition: valve.h:542
virtual unsigned int iGetNumDof(void) const
Definition: valve.cc:1134
doublereal v
Definition: valve.h:455
doublereal area_max
Definition: valve.h:164
const PressureNode * pNode1
Definition: valve.h:228
doublereal width
Definition: valve.h:440
doublereal Force
Definition: valve.h:236
doublereal density
Definition: valve.h:160
long int flag
Definition: mbdyn.h:43
doublereal start
Definition: valve.h:232
doublereal c1
Definition: valve.h:532
doublereal sp
Definition: valve.h:456
doublereal cf2
Definition: valve.h:537
const PressureNode * pNode1
Definition: valve.h:518
virtual unsigned int iGetNumDof(void) const
Definition: valve.cc:385
virtual void GetConnectedNodes(std::vector< const Node * > &connectedNodes) const
Definition: valve.h:102
doublereal cf2
Definition: valve.h:264
doublereal vp
Definition: valve.h:259
doublereal mass
Definition: valve.h:522
const PressureNode * pNode2
Definition: valve.h:519
doublereal c2
Definition: valve.h:533
doublereal flow2
Definition: valve.h:547
virtual std::ostream & Restart(std::ostream &out) const
Definition: valve.cc:1129
doublereal A4min
Definition: valve.h:66
const PressureNode * pNode1
Definition: valve.h:326
virtual void GetConnectedNodes(std::vector< const Node * > &connectedNodes) const
Definition: valve.h:211
const PressureNode * pNode2
Definition: valve.h:47
virtual DofOrder::Order GetDofType(unsigned int i) const
Definition: valve.cc:1901
doublereal s_max
Definition: valve.h:54
doublereal c4
Definition: valve.h:448
const PressureNode * pNode2
Definition: valve.h:434
doublereal c_acc
Definition: valve.h:444
doublereal v
Definition: valve.h:544
virtual void Output(OutputHandler &OH) const
Definition: valve.cc:1042
doublereal Cd
Definition: valve.h:163
doublereal flow2
Definition: valve.h:253
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
Definition: valve.cc:864
~Flow_valve(void)
Definition: valve.cc:1875
doublereal f[LAST_N]
Definition: valve.h:168
doublereal s_max
Definition: valve.h:167
doublereal Kappa
Definition: valve.h:438
~Dynamic_control_valve(void)
Definition: valve.cc:675
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
Definition: valve.cc:1553
doublereal flow2
Definition: valve.h:459
doublereal A2min
Definition: valve.h:64
const PressureNode * pNode4
Definition: valve.h:329
doublereal cf3
Definition: valve.h:451
Control_valve(unsigned int uL, const DofOwner *pD, HydraulicFluid *hf, const PressureNode *p1, const PressureNode *p2, const PressureNode *p3, const PressureNode *p4, doublereal A_max, doublereal Loss_a, const DriveCaller *pDC, flag fOut)
Definition: valve.cc:46
const PressureNode * pNode4
Definition: valve.h:231
virtual void Output(OutputHandler &OH) const
Definition: valve.cc:2266
doublereal c_acc
Definition: valve.h:235
const PressureNode * pNode3
Definition: valve.h:328
const PressureNode * pNode4
Definition: valve.h:49
doublereal valve_diameter
Definition: valve.h:241
virtual void Output(OutputHandler &OH) const
Definition: valve.cc:1460
doublereal sp
Definition: valve.h:543
const PressureNode * pNode6
Definition: valve.h:331
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
Definition: valve.cc:404
doublereal A1
Definition: valve.h:59
virtual DofOrder::Order GetDofType(unsigned int i) const
Definition: valve.cc:104
virtual DofOrder::Order GetDofType(unsigned int i) const
Definition: valve.cc:697
virtual HydraulicElem::Type GetHydraulicType(void) const
Definition: valve.cc:1123
doublereal cf4
Definition: valve.h:452
const PressureNode * pNode3
Definition: valve.h:48
doublereal A1
Definition: valve.h:246
doublereal flow1
Definition: valve.h:546
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
Definition: valve.cc:542
doublereal c1
Definition: valve.h:445
doublereal area_max
Definition: valve.h:437
doublereal Cd
Definition: valve.h:238
std::vector< Hint * > Hints
Definition: simentity.h:89
const PressureNode * pNode[LAST_N]
Definition: valve.h:157
doublereal valve_density
Definition: valve.h:342
void Prepare(void)
Definition: valve.cc:488
doublereal area_min
Definition: valve.h:166
doublereal c_acc
Definition: valve.h:531
doublereal cf3
Definition: valve.h:538
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
Definition: valve.cc:120
doublereal h
Definition: valve.h:541
virtual void GetConnectedNodes(std::vector< const Node * > &connectedNodes) const
Definition: valve.h:590
virtual std::ostream & Restart(std::ostream &out) const
Definition: valve.cc:94
doublereal cf1
Definition: valve.h:449
doublereal Stato
Definition: valve.h:162
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
Definition: valve.cc:1147
doublereal c_spost
Definition: valve.h:233
doublereal cf1
Definition: valve.h:536
const PressureNode * pNode2
Definition: valve.h:229
doublereal Cd
Definition: valve.h:51
doublereal area_max
Definition: valve.h:52
Pressure_valve(unsigned int uL, const DofOwner *pD, HydraulicFluid *hf, const PressureNode *p1, const PressureNode *p2, doublereal A_dia, doublereal mv, doublereal A_max, doublereal s_mx, doublereal K, doublereal F0, doublereal w, doublereal cs, doublereal cv, doublereal ca, flag fOut)
Definition: valve.cc:1491
virtual DofOrder::Order GetDofType(unsigned int i) const
Definition: valve.cc:1139
doublereal valve_diameter
Definition: valve.h:341
doublereal force0
Definition: valve.h:526
Pressure_flow_control_valve(unsigned int uL, const DofOwner *pD, HydraulicFluid *hf, const PressureNode *p1, const PressureNode *p2, const PressureNode *p3, const PressureNode *p4, const PressureNode *p5, const PressureNode *p6, const DriveCaller *pDC, doublereal s0, doublereal s_mx, doublereal W, doublereal Loss_A, doublereal Valve_d, doublereal Valve_rho, doublereal cs, doublereal cv, doublereal ca, flag fOut)
Definition: valve.cc:1072
doublereal flow3
Definition: valve.h:254
doublereal c4
Definition: valve.h:535
doublereal A[LAST_Q]
Definition: valve.h:169
doublereal flow4
Definition: valve.h:58
doublereal c_vel
Definition: valve.h:443
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
Definition: valve.cc:1822
const PressureNode * pNode5
Definition: valve.h:330
doublereal cf3
Definition: valve.h:265
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
Definition: valve.cc:2108
doublereal flow3
Definition: valve.h:548
doublereal loss_area
Definition: valve.h:165
virtual HydraulicElem::Type GetHydraulicType(void) const
Definition: valve.cc:681
doublereal width
Definition: valve.h:527
doublereal flow1
Definition: valve.h:55
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
Definition: valve.cc:216
doublereal c2
Definition: valve.h:261
doublereal c3
Definition: valve.h:447
virtual void GetConnectedNodes(std::vector< const Node * > &connectedNodes) const
Definition: valve.h:414
doublereal s
Definition: valve.h:454
doublereal mass
Definition: valve.h:436
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
Definition: valve.cc:1909
doublereal cf1
Definition: valve.h:263
doublereal dp[LAST_Q]
Definition: valve.h:159
const PressureNode * pNode1
Definition: valve.h:46
virtual HydraulicElem::Type GetHydraulicType(void) const
Definition: valve.cc:1526
doublereal cf4
Definition: valve.h:539
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
Definition: valve.cc:1562
virtual void WorkSpaceDim(integer *piNumRows, integer *piNumCols) const
Definition: valve.cc:397
~Pressure_valve(void)
Definition: valve.cc:1520
doublereal cf2
Definition: valve.h:450
virtual void Output(OutputHandler &OH) const
Definition: valve.cc:314
virtual void GetConnectedNodes(std::vector< const Node * > &connectedNodes) const
Definition: valve.h:310
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
Definition: valve.cc:1312
virtual void Output(OutputHandler &OH) const
Definition: valve.cc:592
doublereal force0
Definition: valve.h:439
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
Definition: valve.cc:604
doublereal valve_density
Definition: valve.h:242
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
Definition: valve.cc:1474
doublereal A2
Definition: valve.h:60
doublereal flow1
Definition: valve.h:252
doublereal vp
Definition: valve.h:545
const PressureNode * pNode3
Definition: valve.h:520
virtual std::ostream & Restart(std::ostream &out) const
Definition: valve.cc:1533
doublereal s
Definition: valve.h:256
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
Definition: valve.cc:1055
virtual std::ostream & Restart(std::ostream &out) const
Definition: valve.cc:379
Dynamic_control_valve(unsigned int uL, const DofOwner *pD, HydraulicFluid *hf, const PressureNode *p1, const PressureNode *p2, const PressureNode *p3, const PressureNode *p4, const DriveCaller *pDC, doublereal s0, doublereal s_mx, doublereal W, doublereal Loss_A, doublereal Valve_d, doublereal Valve_rho, doublereal cs, doublereal cv, doublereal ca, flag fOut)
Definition: valve.cc:628
doublereal c2
Definition: valve.h:446
doublereal A4
Definition: valve.h:249
doublereal A3min
Definition: valve.h:65
virtual DofOrder::Order GetDofType(unsigned int i) const
Definition: valve.cc:390
~Control_valve2(void)
Definition: valve.cc:365
doublereal flow1
Definition: valve.h:458
doublereal s_max
Definition: valve.h:244
doublereal loss_area
Definition: valve.h:240
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
Definition: valve.cc:712
doublereal c1
Definition: valve.h:260
doublereal c_spost
Definition: valve.h:442
virtual DofOrder::Order GetDofType(unsigned int i) const
Definition: valve.cc:1545
Definition: elem.h:75
virtual unsigned int iGetNumDof(void) const
Definition: valve.cc:1539
const PressureNode * pNode1
Definition: valve.h:433
virtual std::ostream & Restart(std::ostream &out) const
Definition: valve.cc:687
doublereal A3
Definition: valve.h:248
doublereal v
Definition: valve.h:257
Control_valve2(unsigned int uL, const DofOwner *pD, HydraulicFluid *hf, const PressureNode *p1, const PressureNode *p2, const PressureNode *p3, const PressureNode *p4, doublereal A_max, doublereal Loss_a, const DriveCaller *pDC, flag fOut)
Definition: valve.cc:330
doublereal width
Definition: valve.h:239
doublereal q[LAST_Q]
Definition: valve.h:158
const PressureNode * pNode3
Definition: valve.h:230
virtual unsigned int iGetNumDof(void) const
Definition: valve.cc:1895
doublereal loss_area
Definition: valve.h:53
virtual HydraulicElem::Type GetHydraulicType(void) const
Definition: valve.cc:88
doublereal area_diaf
Definition: valve.h:435
virtual void SetValue(DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
Definition: valve.cc:2276
doublereal flow4
Definition: valve.h:255
doublereal area_pipe
Definition: valve.h:523
doublereal c_spost
Definition: valve.h:529
doublereal s_max
Definition: valve.h:528
doublereal A1min
Definition: valve.h:63
doublereal area_max
Definition: valve.h:524
virtual unsigned int iGetNumDof(void) const
Definition: valve.cc:99
virtual std::ostream & Restart(std::ostream &out) const
Definition: valve.cc:1889
double doublereal
Definition: colamd.c:52
~Control_valve(void)
Definition: valve.cc:82
long int integer
Definition: colamd.c:51
doublereal c3
Definition: valve.h:262
doublereal Stato
Definition: valve.h:50
virtual void GetConnectedNodes(std::vector< const Node * > &connectedNodes) const
Definition: valve.h:502
doublereal Kappa
Definition: valve.h:525
doublereal c_vel
Definition: valve.h:234
doublereal flow2
Definition: valve.h:56
Flow_valve(unsigned int uL, const DofOwner *pD, HydraulicFluid *hf, const PressureNode *p1, const PressureNode *p2, const PressureNode *p3, doublereal A_dia, doublereal mv, doublereal A_pipe, doublereal A_max, doublereal K, doublereal F0, doublereal w, doublereal s_mx, doublereal cs, doublereal cv, doublereal ca, flag fOut)
Definition: valve.cc:1840
const PressureNode * pNode2
Definition: valve.h:327
doublereal c_vel
Definition: valve.h:530
doublereal vp
Definition: valve.h:457
SubVectorHandler & AssRes(SubVectorHandler &WorkVec, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
Definition: valve.cc:1674
doublereal A3
Definition: valve.h:61
doublereal Mass
Definition: valve.h:251
VariableSubMatrixHandler & AssJac(VariableSubMatrixHandler &WorkMat, doublereal dCoef, const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
Definition: valve.cc:1916
doublereal A4
Definition: valve.h:62
virtual void Output(OutputHandler &OH) const
Definition: valve.cc:1811
doublereal area_diaf
Definition: valve.h:521
doublereal c3
Definition: valve.h:534
virtual unsigned int iGetNumDof(void) const
Definition: valve.cc:692
doublereal flow3
Definition: valve.h:57
doublereal s_max
Definition: valve.h:441
virtual HydraulicElem::Type GetHydraulicType(void) const
Definition: valve.cc:372