using System;

namespace HydraulicSimulator.Models
{
    /// <summary>
    /// Clase base para todos los elementos hidráulicos
    /// </summary>
    public abstract class Element
    {
        /// <summary>
        /// Delta de presión (Pa) con signo positivo en sentido de q (opone el flujo).
        /// Las bombas devuelven negativo (agregan presión).
        /// </summary>
        public abstract double Dp(double q, Fluid fluid);

        /// <summary>
        /// Derivada d(ΔP)/dq, usada en Newton 1D de rama.
        /// </summary>
        public abstract double DdpDq(double q, Fluid fluid);
    }
}
