17#ifndef AGXHYDRAULICS_FLOW_UNIT_H
18#define AGXHYDRAULICS_FLOW_UNIT_H
79 agx::RigidBody* body,
agx::UInt8 elementIndex);
93 void setLength(
agx::Real length);
98 agx::Real getLength() const;
105 bool setArea(
agx::Real area);
110 agx::Real getArea() const;
116 void setFluidDensity(
agx::Real density);
121 agx::Real getFluidDensity() const;
130 void setFluidViscosity(
agx::Real viscosity);
135 agx::Real getFluidViscosity() const;
141 agx::Real getFlowRate() const;
173 agx::Real getInputPressure() const;
179 agx::Real getInletPressure() const;
186 agx::Real getOutputPressure() const;
192 agx::Real getOutletPressure() const;
247 using Unit::isConnected;
264 virtual
agx::Real computeFrictionLoss(
agx::Real flowRate);
272 virtual
void addTankPressure();
278 virtual bool preUpdate(
agx::Real timeStep)
override;
303 void updateBodyMass();
305 agx::Real computeReynoldsNumber() const;
306 static
agx::Real computeReynoldsNumber(
agx::Real area,
agx::Real flowRate,
agx::Real viscosity);
307 agx::Real computeFrictionFactor() const;
308 agx::Real computeLaminarFrictionalLoss(
agx::Real flowRate) const;
309 agx::Real computeQuadraticFrictionalLoss(
agx::Real flowCoefficient) const;
310 agx::Real updateFrictionLoss();
#define AGX_DECLARE_POINTER_TYPES(type)
#define AGXSTREAM_DECLARE_SERIALIZABLE(T)
Use this in a Serializable class to add the required methods Important: Use full namespace in the dec...
#define AGXHYDRAULICS_EXPORT
#define AGX_DECLARE_VECTOR_TYPES(type)
A FlowConnector is a junction of a set of FlowUnits.
A FlowDimension represents the flow of fluid through a FlowUnit.
FlowUnit is the base class for Units that contains a FlowDimension.
agxHydraulics::FlowDimensionRef m_flowDimension
FlowUnit(agx::Real length, agx::Real area, agx::Real fluidDensity)
Create a FlowUnit with inertia calculated from the given parameters.
Abstract base class for storing/restoring a line/drums with version control.
#define DOXYGEN_END_INTERNAL_BLOCK()
#define DOXYGEN_START_INTERNAL_BLOCK()
The agxHydraulics namespace contains classes for modeling hydraulic circuits within the power line fr...
Contain classes for higher level modeling primitives, such as Tree, Terrain etc.
agxPowerLine contains a collection of connected components that transport power across a system.
The agxSDK namespace contain classes to bridge the collision detection system and the dynamical simul...
The agx namespace contains the dynamics/math part of the AGX Dynamics API.