Двигатель фиксированного смещения

Гидравлическое к механической энергии устройство преобразования

  • Библиотека:
  • Simscape / Жидкости / Гидравлика (Изотермическая) / Насосы и Двигатели

Описание

Блок Fixed-Displacement Motor представляет устройство, которое извлекает степень от гидравлического (изотермическая жидкость) сеть и поставляет его механической вращательной сети. Моторное смещение фиксируется в постоянном значении, которое вы задаете через параметр Displacement.

Порты A и B представляют моторное входное отверстие и выход, соответственно. Порт S представляет вал электропривода. Во время нормального функционирования угловая скорость в порте S положительна, если перепад давления от порта A до порта B положителен также. Этот режим работы упомянут здесь как прямой двигатель.

Режимы работы

В общей сложности четыре режима работы возможны. Рабочий режим зависит от перепада давления от порта A до порта B (Δp) и на угловой скорости в порте S (ω). Фигура Режимов работы сопоставляет режимы с октантами графика Δp-ω-D. Режимы маркированы 1–4:

  • Режим 1: передайте двигатель — положительный перепад давления генерирует положительный вал угловая скорость.

  • Режим 2: противоположный насос — отрицательный вал угловая скорость генерирует отрицательное усиление давления (показанный в фигуре как положительный перепад давления).

  • Режим 3: противоположный двигатель — отрицательный перепад давления генерирует отрицательный вал угловая скорость.

  • Режим 4: передайте насос — положительный вал, угловая скорость генерирует положительное усиление давления (показанный в фигуре как отрицательный перепад давления).

Время отклика двигателя рассматривается незначительным по сравнению со временем отклика системы. Двигатель принят, чтобы достигнуть устойчивого состояния почти мгновенно и обработан как квазиустойчивый компонент.

Блокируйте параметризация потерь и варианты

Модель электродвигателя составляет потери мощности из-за утечки и трения. Утечка является внутренней и происходит между моторным входным отверстием и выходом только. Блок вычисляет уровень утечки и крутящий момент трения с помощью выбора пяти параметризации потерь. Вы выбираете блок использования параметризации варианты и, в случае Analytical or tabulated data, параметре Friction and leakage parameterization.

Параметризация потерь

Блок обеспечивает три варианта Simulink®, чтобы выбрать из. Чтобы изменить активный вариант блока, щелкните правой кнопкой по блоку и выберите Simscape> Block choices. Доступные варианты:

  • Analytical or tabulated data — Получите механическую и объемную эффективность или потери от аналитических моделей на основе номинальных параметров или от сведенных в таблицу данных. Используйте параметр Friction and leakage parameterization, чтобы выбрать точный входной тип.

  • Input efficiencies — Обеспечьте механическую и объемную эффективность непосредственно через входные порты физического сигнала.

  • Input losses — Предоставьте механические и объемные потери непосредственно через входные порты физического сигнала. Механическая потеря задана как внутренний крутящий момент трения. Объемная потеря задана как внутренний уровень утечки.

Скорость потока жидкости и управляющий крутящим моментом

Объемный расход, требуемый приводить в действие двигатель,

q=qИдеал+qУтечка,

где:

  • q является сетевым объемным расходом.

  • Идеал q является идеальным объемным расходом.

  • Утечка q является внутренним объемным расходом утечки.

Крутящий момент, сгенерированный в двигателе,

τ=τИдеалτТрение,

где:

  • τ является сетевым крутящим моментом.

  • Идеал τ является идеальным крутящим моментом.

  • Трение τ является крутящим моментом трения.

Идеальная скорость потока жидкости и идеальный крутящий момент

Идеальный объемный расход

qИдеал=Dω,

и идеал сгенерированный крутящий момент

τИдеал=DΔp,

где:

  • D является заданным значением параметров блоков Displacement.

  • ω является мгновенной угловой скоростью ротационного вала.

  • Δp является мгновенным перепадом давления от входного отверстия до выхода.

Уровень утечки и крутящий момент трения

Внутренний уровень утечки и вычисления крутящего момента трения зависят от выбранного варианта блока. Если вариантом блока является Analytical or tabulated data, вычисления зависят также от установки параметра Leakage and friction parameterization. Существует пять возможных перестановок варианта блока и настройки параметризации.

Случай 1: аналитическое вычисление эффективности

Если активным вариантом блока является Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Analytical, уровень утечки

qУтечка=KHPΔp,

и крутящий момент трения

τТрение=(τ0+KTP|Δp|)tanh(4ωω'Порог' ),

где:

  • K HP является коэффициентом Хагена-Poiseuille для пластинчатых потоков канала. Этот коэффициент вычисляется из заданных номинальных параметров.

  • TP K является заданным значением параметров блоков Friction torque vs pressure drop coefficient.

  • τ 0 является заданным значением параметров блоков No-load torque.

  • Порог ω является порогом угловая скорость для перехода моторного насоса. Порог угловая скорость внутренне часть набора заданного значения параметров блоков Nominal shaft angular velocity.

Коэффициент Хагена-Poiseuille определяется от номинальных жидких и параметров компонента до уравнения

KHP=νИмяρvρИмяωИмяDMax ΔpИмя(1ηv, Имя1),

где:

  • Имя ν является заданным значением параметров блоков Nominal kinematic viscosity. Это - кинематическая вязкость, в которой задана номинальная объемная эффективность.

  • Имя ρ является заданным значением параметров блоков Nominal fluid density. Это - плотность, в которой задана номинальная объемная эффективность.

  • Имя ω является заданным значением параметров блоков Nominal shaft angular velocity. Это - угловая скорость, в которой задана номинальная объемная эффективность.

  • ρ является фактической жидкой плотностью в присоединенном гидравлическом (изотермическая жидкость) сеть. Эта плотность может отличаться от заданного значения параметров блоков Nominal fluid density.

  • v является кинематической вязкостью жидкости, сопоставленной с жидкой сетью.

  • Имя Δp является заданным значением параметров блоков Nominal pressure drop. Это - перепад давления, при котором задана номинальная объемная эффективность.

  • η v, Имя является заданным значением параметров блоков Volumetric efficiency at nominal conditions. Это - объемная эффективность, соответствующая заданным номинальным условиям.

Случай 2: эффективность сведенные в таблицу данные

Если активным вариантом блока является Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Tabulated data — volumetric and mechanical efficiencies, уровень утечки

qУтечка=qУтечка, Двигатель(1+α)2+qПросочитесь, Насос(1α)2,

и крутящий момент трения

τТрение=τТрение, Двигатель1+α2+τТрение, Насос1α2,

где:

  • α является числовым параметром сглаживания для перехода моторного насоса.

  • Утечка q, Двигатель является уровнем утечки в моторном режиме.

  • Утечка q, Насос является уровнем утечки в режиме насоса.

  • Трение τ, Двигатель является крутящим моментом трения в моторном режиме.

  • Трение τ, Насос является крутящим моментом трения в режиме насоса.

Параметр сглаживания α дан гиперболической функцией

α=tanh(4ΔpΔp'Порог' )·tanh(4ωω'Порог' ),

где:

  • Порог Δp является заданным значением параметров блоков Pressure drop threshold for motor-pump transition.

  • Порог ω является заданным значением параметров блоков Angular velocity threshold for motor-pump transition.

Уровень утечки вычисляется от сведенных в таблицу данных эффективности до уравнения

qУтечка, Двигатель=(1ηv)q,

в моторном режиме и посредством уравнения

qПросочитесь, Насос=(1ηv)qИдеал.

в режиме насоса, где:

  • η v является объемной эффективностью, полученной посредством интерполяции или экстраполяции данных о параметре Volumetric efficiency table, e_v(dp,w).

Точно так же крутящий момент трения вычисляется от сведенных в таблицу данных эффективности до уравнения

τТрение, Двигатель=(1ηm)τИдеал,

в моторном режиме и посредством уравнения

τТрение, Насос=(1ηm)τ.

в режиме насоса, где:

  • η m является механической эффективностью, полученной посредством интерполяции или экстраполяции данных о параметре Mechanical efficiency table, e_m(dp,w).

Случай 3: потеря сведенные в таблицу данные

Если активным вариантом блока является Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Tabulated data — volumetric and mechanical losses, уравнение скорости утечки

qУтечка=qУтечка(Δp,ω).

и уравнение крутящего момента трения

τТрение=τТрение(Δp,ω),

где Утечка q (Δp, ω) и Трение τ (Δp, ω) является объемными и механическими потерями, полученными посредством интерполяции или экстраполяции Volumetric loss table, q_loss(dp,w) и данных о параметре Mechanical loss table, torque_loss (dp,w).

Случай 4: входные параметры физического сигнала эффективности

Если активным вариантом блока является Input efficiencies, уровень утечки и вычисления крутящего момента трения как описаны для сведенных в таблицу данных эффективности (случай 2). Объемные и механические интерполяционные таблицы эффективности заменяются входными параметрами физического сигнала, которые вы задаете через порты EV и EM.

Случай 5: входные параметры физического сигнала потерь

Если вариантом блока является Input losses, уровень утечки и вычисления крутящего момента трения как описаны для сведенных в таблицу данных потери (случай 3). Объемные и механические интерполяционные таблицы потерь заменяются входными параметрами физического сигнала, которые вы задаете через порты LV и LM.

Характеристическая визуализация кривой

Если вариант блока установлен в Analytical or tabulated data, можно построить разнообразие производительности, эффективности и кривых потерь от данных моделирования и параметров компонента. Используйте контекстно-зависимое меню блока, чтобы построить характеристические кривые. Щелкните правой кнопкой по блоку, чтобы открыть меню и выбрать Fluids> Plot characteristic. Тестовая обвязка открывается инструкциями относительно того, как сгенерировать кривые. Смотрите Насос и Моторные Характеристические Кривые.

Предположения

  • Жидкая сжимаемость незначительна.

  • Загружая на вале двигателя из-за инерции, трение и пружинные силы незначительны.

Порты

Входной параметр

развернуть все

Входной порт физического сигнала для объемного коэффициента эффективности. Входной сигнал имеет верхнюю границу в значении параметров Maximum volumetric efficiency и нижнюю границу в значении параметров Minimum volumetric efficiency.

Зависимости

Этот порт представлен только, когда вариант блока установлен в Input efficiencies.

Входной порт физического сигнала для механического коэффициента эффективности. Входной сигнал имеет верхнюю границу в значении параметров Maximum mechanical efficiency и нижнюю границу в значении параметров Minimum mechanical efficiency.

Зависимости

Этот порт представлен только, когда вариант блока установлен в Input efficiencies.

Входной порт физического сигнала за объемную потерю, заданную как внутренний уровень утечки между моторными входными отверстиями.

Зависимости

Этот порт представлен только, когда вариант блока установлен в Input losses.

Входной порт физического сигнала за механическую потерю, заданную как крутящий момент трения на вращающемся вале двигателя.

Зависимости

Этот порт представлен только, когда вариант блока установлен в Input losses.

Сохранение

развернуть все

Гидравлический (изотермическая жидкость) порт, представляющий моторное входное отверстие.

Гидравлический (изотермическая жидкость) порт, представляющий моторный выход.

Механический вращательный порт, представляющий вал двигателя.

Параметры

развернуть все

Представленные параметры блоков зависят от активного варианта блока. Смотрите Варианты Блока и Параметризацию Потерь.

Различный 1: Analytical or tabulated data

Жидкий объем перемещен на модульный угол поворота вала. Смещение фиксируется в этом значении во время симуляции. Заданное значение должно быть больше, чем нуль.

Параметризация раньше вычисляла скорость потока и потери крутящего момента из-за внутренних утечек и трения. Параметризация Analytical полагается на номинальные параметры, общедоступные из таблиц данных компонента. Остающееся, табличное, опции полагаются на интерполяционные таблицы, чтобы сопоставить перепад давления и угловую скорость к эффективности компонента или потерям. Табличные опции включают:

  • Tabulated data — volumetric and mechanical efficiencies

  • Tabulated data — volumetric and mechanical losses

Зависимости

Этот параметр включен, когда вариант блока установлен в Analytical or tabulated data.

Угловая скорость вращающегося вала, в котором известна номинальная объемная эффективность компонента. Номинальные параметры обычно публикуются для стандартных условий работы в таблицах данных производителя. Блок использует этот параметр, чтобы вычислить, с помощью простых линейных функций, уровня утечки и крутящего момента трения.

Зависимости

Этот параметр включен, когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Analytical.

Перепад давления от входного отверстия до выхода, при котором известна номинальная объемная эффективность компонента. Номинальные параметры обычно публикуются для стандартных условий работы в таблицах данных производителя. Блок использует этот параметр, чтобы вычислить, с помощью простой линейной функции, внутреннего уровня утечки.

Зависимости

Этот параметр включен, когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Analytical.

Кинематическая вязкость гидравлической жидкости, в которой известна номинальная объемная эффективность компонента. Номинальные параметры обычно публикуются для стандартных условий работы в таблицах данных производителя. Блок использует этот параметр, чтобы вычислить, с помощью простой линейной функции, внутреннего уровня утечки.

Зависимости

Этот параметр включен, когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Analytical.

Массовая плотность гидравлической жидкости, в которой известна номинальная объемная эффективность компонента. Номинальные параметры обычно публикуются для стандартных условий работы в таблицах данных производителя. Блок использует этот параметр, чтобы вычислить, с помощью простой линейной функции, внутреннего уровня утечки.

Зависимости

Этот параметр включен, когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Analytical.

Объемная эффективность, заданная как отношение фактических к идеальным объемным расходам, при заданных номинальных условиях. Номинальные параметры обычно публикуются для стандартных условий работы в таблицах данных производителя. Блок использует этот параметр, чтобы вычислить, с помощью простой линейной функции, внутреннего уровня утечки.

Зависимости

Этот параметр включен, когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Analytical.

Крутящий момент, требуемый преодолеть трение изоляции и вызвать вращение механического вала. Этот крутящий момент является независимым от загрузки компонентом общего крутящего момента трения.

Зависимости

Этот параметр включен, когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Analytical.

Коэффициент пропорциональности между трением закручивает на механическом вале и перепаде давления от входного отверстия до выхода.

Зависимости

Этот параметр включен, когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Tabulated data — volumetric and mechanical efficiencies.

Режим предупреждения симуляции для недопустимых давлений в портах компонента. Выберите Warning, который будет уведомлен, когда давление упадет ниже минимального заданного значения. Предупреждение может быть полезным в моделях, где давление может упасть ниже влажного давления пара гидравлической жидкости, заставив кавитацию произойти.

Нижняя граница области значений валидности давления. Предупреждение выдано, если давление падает ниже заданного значения.

Зависимости

Этот параметр включен, когда параметр Check if lower side pressure violating minimum valid condition устанавливается на Warning.

M- вектор элемента давления получает, в котором можно задать табличные данные эффективности. Векторный размер, M, должен быть два или больше. Векторные элементы не должны быть однородно расположены с интервалами. Однако они должны монотонно увеличиться в значении слева направо.

Зависимости

Этот параметр включен, когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Tabulated data — volumetric and mechanical efficiencies.

N- вектор элемента вала угловые скорости, в которых можно задать табличные данные эффективности. Векторный размер, N, должен быть два или больше. Векторные элементы не должны быть однородно расположены с интервалами. Однако они должны монотонно увеличиться в значении слева направо.

Зависимости

Этот параметр включен, когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Tabulated data — volumetric and mechanical efficiencies.

M-by-N матрица с объемной эффективностью при заданных жидких перепадах давления и вале угловые скорости. Эффективность должна упасть в области значений 0–1. M и N являются размерами заданных векторов интерполяционной таблицы:

  • M является количеством векторных элементов в параметре Pressure drop vector for efficiencies, dp.

  • N является количеством векторных элементов в параметре Shaft angular velocity vector for efficiencies, w.

Зависимости

Этот параметр включен, когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Tabulated data — volumetric and mechanical efficiencies.

M-by-N матрица с механической эффективностью, соответствующей заданным жидким перепадам давления и валу угловые скорости. Эффективность должна упасть в области значений 0–1. M и N являются размерами заданных векторов интерполяционной таблицы:

  • M является количеством векторных элементов в параметре Pressure drop vector for efficiencies, dp.

  • N является количеством векторных элементов в параметре Shaft angular velocity vector for efficiencies, w.

Зависимости

Этот параметр включен, когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Tabulated data — volumetric and mechanical efficiencies.

Перепад давления от входного отверстия до выхода, ниже которого компонент начинает переходить между ездой на автомобиле и нагнетанием режимов. Гиперболическая функция Tanh преобразовывает уровень утечки, и трение закручивают таким образом, что переход непрерывен и сглажен.

Зависимости

Этот параметр включен, когда вариант блока установлен в Input efficiencies или когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Tabulated data — volumetric and mechanical efficiencies.

Угловая скорость вала, ниже которой компонент начинает переходить между ездой на автомобиле и нагнетанием режимов. Гиперболическая функция Tanh преобразовывает уровень утечки, и трение закручивают таким образом, что переход непрерывен и сглажен.

Зависимости

Этот параметр включен, когда вариант блока установлен в Input efficiencies или когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Tabulated data — volumetric and mechanical efficiencies.

Режим предупреждения симуляции для условий работы вне области значений сведенных в таблицу данных. Выберите Warning, который будет уведомлен, когда жидкое усиление давления или вал угловая скорость пересекутся вне заданных табличных данных. Предупреждение не заставляет симуляцию останавливаться.

Зависимости

Этот параметр включен, когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Tabulated data — volumetric and mechanical efficiencies или Tabulated data — volumetric and mechanical losses.

M- вектор элемента перепадов давления, при которых можно задать табличные данные потерь. Векторный размер, M, должен быть два или больше. Векторные элементы не должны быть однородно расположены с интервалами. Однако они должны монотонно увеличиться в значении слева направо.

Зависимости

Этот параметр включен, когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Tabulated data — volumetric and mechanical losses.

N- вектор элемента вала угловые скорости, в которых можно задать данные потерь компонента. Векторный размер, N, должен быть два или больше. Векторные элементы не должны быть однородно расположены с интервалами. Однако они должны монотонно увеличиться в значении слева направо.

Зависимости

Этот параметр включен, когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Tabulated data — volumetric and mechanical losses.

M-by-N матрица с объемными усилениями при заданных жидких перепадах давления и вале угловые скорости. Объемная потеря задана здесь как внутренний объемный расход утечки между портом A и портом B. M и N являются размерами заданных векторов интерполяционной таблицы:

  • M является количеством векторных элементов в параметре Pressure drop vector for losses, dp.

  • N является количеством векторных элементов в параметре Shaft angular velocity vector for losses, w.

Зависимости

Этот параметр включен, когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Tabulated data — volumetric and mechanical losses.

M-by-N матрица с механическими потерями при заданных жидких перепадах давления и вале угловые скорости. Механическая потеря задана здесь как крутящий момент трения из-за изоляций и внутренних компонентов. M и N являются размерами заданных векторов интерполяционной таблицы:

  • M является количеством векторных элементов в параметре Pressure drop vector for losses, dp.

  • N является количеством векторных элементов в параметре Shaft angular velocity vector for losses, w.

Зависимости

Этот параметр включен, когда вариант блока установлен в Analytical or tabulated data, и параметр Leakage and friction parameterization устанавливается на Tabulated data — volumetric and mechanical losses.

Различные 2: Input efficiencies

Жидкий объем перемещен на модульный угол поворота вала. Смещение фиксируется в этом значении во время симуляции. Заданное значение должно быть больше, чем нуль.

Перепад давления от входного отверстия до выхода, ниже которого компонент начинает переходить между ездой на автомобиле и нагнетанием режимов. Гиперболическая функция Tanh преобразовывает уровень утечки, и трение закручивают таким образом, что переход непрерывен и сглажен.

Зависимости

Этот параметр включен, когда вариант блока установлен в Input efficiencies.

Угловая скорость вала, ниже которой компонент начинает переходить между ездой на автомобиле и нагнетанием режимов. Гиперболическая функция Tanh преобразовывает уровень утечки, и трение закручивают таким образом, что переход непрерывен и сглажен.

Зависимости

Этот параметр включен, когда вариант блока установлен в Input efficiencies.

Наименьшее позволенное значение объемной эффективности. Вход от порта EV физического сигнала насыщает по заданному значению. Если входной сигнал падает ниже минимальной объемной эффективности, объемная эффективность установлена в минимальную объемную эффективность.

Зависимости

Этот параметр включен, когда вариант блока установлен в Input efficiencies.

Самое большое позволенное значение объемной эффективности. Вход от порта EV физического сигнала насыщает по заданному значению. Если входной сигнал повышается выше максимальной объемной эффективности, объемная эффективность установлена в максимальную объемную эффективность.

Зависимости

Этот параметр включен, когда вариант блока установлен в Input efficiencies.

Наименьшее позволенное значение механической эффективности. Вход от порта EM физического сигнала насыщает по заданному значению. Если входной сигнал падает ниже минимальной механической эффективности, механическая эффективность установлена в минимальную механическую эффективность.

Зависимости

Этот параметр включен, когда вариант блока установлен в Input efficiencies.

Самое большое позволенное значение механической эффективности. Вход от порта EM физического сигнала насыщает в этом значении. Если входной сигнал повышается выше максимальной механической эффективности, механическая эффективность установлена в максимальную механическую эффективность.

Зависимости

Этот параметр включен, когда вариант блока установлен в Input efficiencies.

Режим предупреждения симуляции для недопустимых давлений в портах компонента. Выберите Warning, который будет уведомлен, когда давление упадет ниже минимального заданного значения. Предупреждение может быть полезным в моделях, где давление может упасть ниже влажного давления пара гидравлической жидкости, заставив кавитацию произойти.

Нижняя граница области значений валидности давления. Предупреждение выдано, если давление падает ниже заданного значения.

Зависимости

Этот параметр включен, когда параметр Check if lower side pressure violating minimum valid condition устанавливается на Warning.

Различные 3: Введите потери

Жидкий объем перемещен на модульный угол поворота вала. Смещение фиксируется в этом значении во время симуляции. Заданное значение должно быть больше, чем нуль.

Режим предупреждения симуляции для условий работы вне автомобильного режима. Предупреждение выдано если моторные переходы к нагнетанию режима. Выберите Warning, который будет уведомлен, когда этот переход произойдет. Предупреждение не заставляет симуляцию останавливаться.

Зависимости

Этот параметр включен, когда вариант блока установлен в Input losses.

Режим предупреждения симуляции для недопустимых давлений в портах компонента. Выберите Warning, который будет уведомлен, когда давление упадет ниже минимального заданного значения. Предупреждение может быть полезным в моделях, где давление может упасть ниже влажного давления пара гидравлической жидкости, заставив кавитацию произойти.

Нижняя граница области значений валидности давления. Предупреждение выдано, если давление падает ниже заданного значения.

Зависимости

Этот параметр включен, когда параметр Check if lower side pressure violating minimum valid condition устанавливается на Warning.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Представленный в R2006b