Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 101 additions & 0 deletions docs/docs/about/migration_guides/mechanical_efficiency.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---
title: Mechanical Efficiency Migration
description: Migrating from POWER_ADJUSTMENT_FACTOR to MECHANICAL_EFFICIENCY
sidebar_position: -16
---

# Migrating to MECHANICAL_EFFICIENCY

This guide explains how to migrate from the deprecated `POWER_ADJUSTMENT_FACTOR` and `POWER_ADJUSTMENT_CONSTANT` parameters to the new `MECHANICAL_EFFICIENCY` parameter.

## Why Migrate?

The legacy power adjustment parameters were empirical corrections without clear physical meaning. The new approach provides:

- **Physical clarity**: Mechanical efficiency represents real-world losses in bearings, gearboxes, and seals
- **Better documentation**: Efficiency values can be traced to equipment specifications
- **Future compatibility**: Legacy parameters will be removed in a future version

## Conversion Formula

$$
\eta_{mechanical} = \frac{1}{\text{POWER\_ADJUSTMENT\_FACTOR}}
$$

For example: `POWER_ADJUSTMENT_FACTOR: 1.05` → `MECHANICAL_EFFICIENCY: 0.952`

:::note
`POWER_ADJUSTMENT_CONSTANT` has no direct equivalent. If you used a constant offset, consult the eCalc team.
:::

## Migration Examples

### All Compressor Train Types

For all compressor train types (`VARIABLE_SPEED_COMPRESSOR_TRAIN`, `SINGLE_SPEED_COMPRESSOR_TRAIN`, `VARIABLE_SPEED_COMPRESSOR_TRAIN_MULTIPLE_STREAMS_AND_PRESSURES`, and `SIMPLIFIED_VARIABLE_SPEED_COMPRESSOR_TRAIN`), set `MECHANICAL_EFFICIENCY` directly on the train model:

**Before:**
```yaml
MODELS:
- NAME: export_compressor
TYPE: VARIABLE_SPEED_COMPRESSOR_TRAIN
POWER_ADJUSTMENT_FACTOR: 1.05
FLUID_MODEL: medium_gas
COMPRESSOR_TRAIN:
STAGES:
- INLET_TEMPERATURE: 30
COMPRESSOR_CHART: compressor_chart_ref
```

**After:**
```yaml
MODELS:
- NAME: export_compressor
TYPE: VARIABLE_SPEED_COMPRESSOR_TRAIN
MECHANICAL_EFFICIENCY: 0.952 # = 1/1.05, accounts for 5% mechanical losses
FLUID_MODEL: medium_gas
COMPRESSOR_TRAIN:
STAGES:
- INLET_TEMPERATURE: 30
COMPRESSOR_CHART: compressor_chart_ref
```

### Simplified Trains

The same pattern applies to `SIMPLIFIED_VARIABLE_SPEED_COMPRESSOR_TRAIN`:

**Before:**
```yaml
MODELS:
- NAME: simple_train
TYPE: SIMPLIFIED_VARIABLE_SPEED_COMPRESSOR_TRAIN
POWER_ADJUSTMENT_FACTOR: 1.08
FLUID_MODEL: medium_gas
COMPRESSOR_TRAIN:
STAGES:
- INLET_TEMPERATURE: 30
COMPRESSOR_CHART: generic_chart
```

**After:**
```yaml
MODELS:
- NAME: simple_train
TYPE: SIMPLIFIED_VARIABLE_SPEED_COMPRESSOR_TRAIN
MECHANICAL_EFFICIENCY: 0.926 # = 1/1.08
FLUID_MODEL: medium_gas
COMPRESSOR_TRAIN:
STAGES:
- INLET_TEMPERATURE: 30
COMPRESSOR_CHART: generic_chart
```

## Troubleshooting

**Cannot specify both MECHANICAL_EFFICIENCY and POWER_ADJUSTMENT_FACTOR**: Remove the legacy parameter when using `MECHANICAL_EFFICIENCY`. The two approaches are mutually exclusive.

**MECHANICAL_EFFICIENCY must be in range (0, 1]**: Ensure your value is greater than 0 and at most 1.0. Use the conversion formula above if migrating from `POWER_ADJUSTMENT_FACTOR`.

## Further Reading

- [MECHANICAL_EFFICIENCY Reference](/about/references/MECHANICAL_EFFICIENCY.md)
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,12 @@ ENERGY_USAGE_MODEL:
SUCTION_PRESSURE: <suction pressure expression>
DISCHARGE_PRESSURE: <discharge pressure expression>
INTERSTAGE_CONTROL_PRESSURE: <interstage control pressure expression>
POWER_ADJUSTMENT_CONSTANT: <Optional constant MW adjustment added to the model>
~~~~~~~~

:::warning Deprecated Parameters
The `POWER_ADJUSTMENT_CONSTANT` parameter is deprecated. Use `MECHANICAL_EFFICIENCY` on the train model definition instead.
:::

The number of elements in [RATE_PER_STREAM](/about/references/RATE_PER_STREAM.md) must correspond to the number of streams defined for the model referenced in
[COMPRESSOR_TRAIN_MODEL](/about/references/COMPRESSOR_TRAIN_MODEL.md).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,17 @@ stages are calculated at run-time based on input data.
MODELS:
- NAME: <model name>
TYPE: SIMPLIFIED_VARIABLE_SPEED_COMPRESSOR_TRAIN
FLUID_MODEL: <reference to fluid model, must be defined in MODELS
FLUID_MODEL: <reference to fluid model, must be defined in MODELS>
COMPRESSOR_TRAIN: <compressor train specification>
POWER_ADJUSTMENT_CONSTANT: <Optional constant MW adjustment added to the model>
MECHANICAL_EFFICIENCY: <Optional. Mechanical efficiency applied to all stages. Default 1.0 (no losses). Value must be > 0 and ≤ 1.>
MAXIMUM_POWER: <Optional constant MW maximum power the compressor train can require>
CALCULATE_MAX_RATE: <Optional. compressor train max standard rate [Sm3/day] in result if set to true. Default false. Use with caution. This will increase runtime significantly. >
CALCULATE_MAX_RATE: <Optional. compressor train max standard rate [Sm3/day] in result if set to true. Default false. Use with caution. This will increase runtime significantly.>
~~~~~~~~

:::warning Deprecated Parameters
The `POWER_ADJUSTMENT_CONSTANT` and `POWER_ADJUSTMENT_FACTOR` parameters are deprecated. Use `MECHANICAL_EFFICIENCY` instead.
:::

### Simplified compressor train model with known compressor stages
When the compressor stages are known, each stage is defined with a compressor chart and an inlet temperature:

Expand All @@ -42,14 +46,14 @@ MODELS:
- NAME: <model name>
TYPE: SIMPLIFIED_VARIABLE_SPEED_COMPRESSOR_TRAIN
FLUID_MODEL: <reference to fluid model>
MECHANICAL_EFFICIENCY: <Optional. Default 1.0>
COMPRESSOR_TRAIN:
STAGES:
- INLET_TEMPERATURE: <inlet temperature in Celsius for stage>
COMPRESSOR_CHART: <reference to compressor chart model for first stage, must be defined in MODELS or FACILITY_INPUTS>
- INLET_TEMPERATURE: <inlet temperature in Celsius for stage>
COMPRESSOR_CHART: <reference to compressor chart model for second stage, must be defined in MODELS or FACILITY_INPUTS>
- ... and so forth for each stage in the train
POWER_ADJUSTMENT_CONSTANT: <Optional constant MW adjustment added to the model>
MAXIMUM_POWER: <Optional constant MW maximum power the compressor train can require>
~~~~~~~~

Expand All @@ -68,11 +72,11 @@ MODELS:
- NAME: <model name>
TYPE: SIMPLIFIED_VARIABLE_SPEED_COMPRESSOR_TRAIN
FLUID_MODEL: <reference to fluid model>
MECHANICAL_EFFICIENCY: <Optional. Default 1.0>
COMPRESSOR_TRAIN:
MAXIMUM_PRESSURE_RATIO_PER_STAGE: <maximum pressure ratio per stage>
COMPRESSOR_CHART: <reference to compressor chart model used for all stages, must be defined in [MODELS] or [FACILITY_INPUTS]>
INLET_TEMPERATURE: <inlet temperature for all stages>
POWER_ADJUSTMENT_CONSTANT: <Optional constant MW adjustment added to the model>
~~~~~~~~

## Examples
Expand Down Expand Up @@ -106,6 +110,7 @@ MODELS:
- NAME: simplified_compressor_model
TYPE: SIMPLIFIED_VARIABLE_SPEED_COMPRESSOR_TRAIN
FLUID_MODEL: fluid_model_1
MECHANICAL_EFFICIENCY: 0.95 # Account for 5% mechanical losses in the drivetrain
COMPRESSOR_TRAIN:
STAGES:
- INLET_TEMPERATURE: 30
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,15 @@ This means that a single speed compressor model needs the following to be define

The following keywords are optional for a single speed compressor model:

- [MECHANICAL_EFFICIENCY](/about/references/MECHANICAL_EFFICIENCY.md) - Mechanical efficiency of the drivetrain (default 1.0)
- [MAXIMUM_DISCHARGE_PRESSURE](/about/references/MAXIMUM_DISCHARGE_PRESSURE.md)
- [POWER_ADJUSTMENT_CONSTANT](/about/references/POWER_ADJUSTMENT_CONSTANT.md)
- [MAXIMUM_POWER](/about/references/MAXIMUM_POWER.md)
- [CALCULATE_MAX_RATE](/about/references/CALCULATE_MAX_RATE.md)

:::warning Deprecated Parameters
The `POWER_ADJUSTMENT_CONSTANT` and `POWER_ADJUSTMENT_FACTOR` parameters are deprecated. Use `MECHANICAL_EFFICIENCY` instead.
:::

The model is defined under the main keyword [MODELS](/about/references/MODELS.md) in the format

## Format
Expand All @@ -40,6 +44,7 @@ MODELS:
FLUID_MODEL: <reference to fluid model>
PRESSURE_CONTROL: <method for pressure control, DOWNSTREAM_CHOKE (default), UPSTREAM_CHOKE, , INDIVIDUAL_ASV_PRESSURE, INDIVIDUAL_ASV_RATE or COMMON_ASV>
MAXIMUM_DISCHARGE_PRESSURE: <Maximum discharge pressure in bar (can only use if pressure control is DOWNSTREAM_CHOKE)>
MECHANICAL_EFFICIENCY: <Optional. Mechanical efficiency (0 < η ≤ 1). Default 1.0>
COMPRESSOR_TRAIN:
STAGES:
- INLET_TEMPERATURE: <inlet temperature in Celsius for stage>
Expand All @@ -53,7 +58,6 @@ MODELS:
CONTROL_MARGIN_UNIT: <FRACTION or PERCENTAGE, default is PERCENTAGE>
PRESSURE_DROP_AHEAD_OF_STAGE: <Pressure drop before compression stage [in bar]>
- ... and so forth for each stage in the train
POWER_ADJUSTMENT_CONSTANT: <Optional constant MW adjustment added to the model>
MAXIMUM_POWER: <Optional constant MW maximum power the compressor train can require>
CALCULATE_MAX_RATE: <Optional compressor train max standard rate [Sm3/day] in result if set to true. Default false. Use with caution. This will increase runtime significantly. >
~~~~~~~~
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ MODELS:
- NAME: <model name>
TYPE: VARIABLE_SPEED_COMPRESSOR_TRAIN
FLUID_MODEL: <reference to fluid model>
MECHANICAL_EFFICIENCY: <Optional. Mechanical efficiency (0 < η ≤ 1). Default 1.0>
COMPRESSOR_TRAIN:
STAGES:
- INLET_TEMPERATURE: <inlet temperature in Celsius for stage>
Expand All @@ -58,9 +59,12 @@ MODELS:
PRESSURE_DROP_AHEAD_OF_STAGE: <Pressure drop before compression stage [in bar]>
CONTROL_MARGIN_UNIT: <FRACTION or PERCENTAGE, default is PERCENTAGE>
- ... and so forth for each stage in the train
POWER_ADJUSTMENT_CONSTANT: <Optional constant MW adjustment added to the model>
MAXIMUM_POWER: <Optional constant MW maximum power the compressor train can require>
CALCULATE_MAX_RATE: <Optional compressor train max standard rate [Sm3/day] in result if set to true. Default false. Use with caution. This will increase runtime significantly. >
PRESSURE_CONTROL: <method for pressure control, DOWNSTREAM_CHOKE (default), UPSTREAM_CHOKE, , INDIVIDUAL_ASV_PRESSURE, INDIVIDUAL_ASV_RATE or COMMON_ASV>
~~~~~~~~

:::warning Deprecated Parameters
The `POWER_ADJUSTMENT_CONSTANT` and `POWER_ADJUSTMENT_FACTOR` parameters are deprecated. Use `MECHANICAL_EFFICIENCY` instead.
:::

Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ MODELS:
CONTROL_MARGIN_UNIT: <FRACTION or PERCENTAGE, default is PERCENTAGE>
PRESSURE_DROP_AHEAD_OF_STAGE: <Pressure drop before compression stage [in bar]>
- ...
MECHANICAL_EFFICIENCY: <Optional. Mechanical efficiency (0 < η ≤ 1). Default 1.0>
MAXIMUM_POWER: <Optional constant MW maximum power the compressor train can require>
~~~~~~~~

Expand Down
84 changes: 84 additions & 0 deletions docs/docs/about/references/MECHANICAL_EFFICIENCY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# MECHANICAL_EFFICIENCY

[MODELS](/about/references/MODELS.md) /
[MECHANICAL_EFFICIENCY](/about/references/MECHANICAL_EFFICIENCY.md)

## Description

`MECHANICAL_EFFICIENCY` defines the ratio of useful mechanical work output to the total mechanical work input for the compressor drivetrain. It accounts for power losses in bearings, gearboxes, seals, and couplings.

The mechanical efficiency is used to calculate the shaft power required from the driver:

$$
P_{shaft} = \frac{P_{gas}}{\eta_{mechanical}}
$$

Where:
- $P_{shaft}$ is the shaft power (input from driver) in MW
- $P_{gas}$ is the gas power (thermodynamic work on gas) in MW
- $\eta_{mechanical}$ is the mechanical efficiency (0 < η ≤ 1)

## Format

~~~~yaml
MODELS:
- NAME: <compressor train name>
TYPE: <VARIABLE_SPEED_COMPRESSOR_TRAIN | SINGLE_SPEED_COMPRESSOR_TRAIN | SIMPLIFIED_VARIABLE_SPEED_COMPRESSOR_TRAIN | VARIABLE_SPEED_COMPRESSOR_TRAIN_MULTIPLE_STREAMS_AND_PRESSURES>
MECHANICAL_EFFICIENCY: <value> # Optional, default 1.0
...
~~~~

## Example

~~~~yaml
MODELS:
- NAME: export_compressor
TYPE: VARIABLE_SPEED_COMPRESSOR_TRAIN
MECHANICAL_EFFICIENCY: 0.95 # 95% efficiency, 5% losses
FLUID_MODEL: medium_gas
COMPRESSOR_TRAIN:
STAGES:
- INLET_TEMPERATURE: 30
COMPRESSOR_CHART: compressor_chart_ref
~~~~

## Value Range

| Constraint | Value | Description |
|------------|-------|-------------|
| Minimum | > 0 | Must be positive (exclusive) |
| Maximum | ≤ 1.0 | Cannot exceed 100% efficiency |
| Default | 1.0 | No mechanical losses (ideal drivetrain) |

### Typical Values

| Drive Configuration | Typical Range | Typical Losses | Notes |
|---------------------|---------------|----------------|-------|
| Direct drive | 0.96 - 0.98 | 2-4% | Bearings (1-2%) + seals/couplings (1-2%) |
| With gearbox | 0.93 - 0.96 | 4-7% | Adds gearbox losses (2-3%) |

:::note
These are approximate ranges for the **total** mechanical efficiency of the drive train. The actual value depends on equipment design, operating conditions, and manufacturer data. A typical default of ~0.95 (5% losses) covers a common configuration with gearbox.
:::

## Physical Interpretation

The mechanical efficiency accounts for power losses in the drivetrain between
the driver (motor/turbine) and the compressor, including:

- **Bearing losses**: Friction in shaft support bearings
- **Gearbox losses**: Friction and churning in gear systems (if present)
- **Seal and coupling losses**: Minor friction in auxiliary components

:::note Constant efficiency assumption
In reality, frictional losses scale approximately with the square of rotational speed.
However, eCalc assumes a **constant** mechanical efficiency across all operating points.
Choose a representative value for typical operating conditions, or consult vendor data
for the expected speed range.
:::

## See Also

- [EFFICIENCY](/about/references/EFFICIENCY.md)
- [POLYTROPIC_EFFICIENCY](/about/references/POLYTROPIC_EFFICIENCY.md)
- [Mechanical Efficiency Migration Guide](/about/migration_guides/mechanical_efficiency.md)
14 changes: 6 additions & 8 deletions docs/docs/about/references/POWER_ADJUSTMENT_CONSTANT.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
[MODELS](/about/references/MODELS.md) /
[POWER_ADJUSTMENT_CONSTANT](/about/references/POWER_ADJUSTMENT_CONSTANT.md)

:::warning Deprecated
This parameter is deprecated and will be removed in a future version. Use [MECHANICAL_EFFICIENCY](/about/references/MECHANICAL_EFFICIENCY.md) instead for a physically meaningful way to model mechanical losses.
:::

## Description
Optional constant MW adjustment added to the model. Only added if (electrical) POWER > 0. Can be used in combination with [POWER_ADJUSTMENT_FACTOR](/about/references/POWER_ADJUSTMENT_FACTOR.md).

Expand All @@ -18,6 +22,7 @@ MODELS:

## Example

**Deprecated usage:**
~~~~~yaml
MODELS:
- NAME: simple_compressor
Expand All @@ -26,11 +31,4 @@ MODELS:
POWER_ADJUSTMENT_CONSTANT: 10 #MW
~~~~~

~~~~~yaml
MODELS:
- NAME: simple_compressor
TYPE: SIMPLIFIED_VARIABLE_SPEED_COMPRESSOR_TRAIN
...
POWER_ADJUSTMENT_CONSTANT: 10 #MW
POWER_ADJUSTMENT_FACTOR: 1.2
~~~~~
**Recommended migration:** See the [Mechanical Efficiency Migration Guide](/about/migration_guides/mechanical_efficiency.md).
14 changes: 6 additions & 8 deletions docs/docs/about/references/POWER_ADJUSTMENT_FACTOR.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
[MODELS](/about/references/MODELS.md) /
[POWER_ADJUSTMENT_FACTOR](/about/references/POWER_ADJUSTMENT_FACTOR.md)

:::warning Deprecated
This parameter is deprecated and will be removed in a future version. Use [MECHANICAL_EFFICIENCY](/about/references/MECHANICAL_EFFICIENCY.md) instead for a physically meaningful way to model mechanical losses.
:::

## Description
Optional factor adjusting the power in the model. The power is multiplied by this factor. Can be used in combination with [POWER_ADJUSTMENT_CONSTANT](/about/references/POWER_ADJUSTMENT_CONSTANT.md).

Expand All @@ -18,6 +22,7 @@ MODELS:

## Example

**Deprecated usage:**
~~~~~yaml
MODELS:
- NAME: simple_compressor
Expand All @@ -26,11 +31,4 @@ MODELS:
POWER_ADJUSTMENT_FACTOR: 1.2
~~~~~

~~~~~yaml
MODELS:
- NAME: simple_compressor
TYPE: SIMPLIFIED_VARIABLE_SPEED_COMPRESSOR_TRAIN
...
POWER_ADJUSTMENT_CONSTANT: 10 #MW
POWER_ADJUSTMENT_FACTOR: 1.2
~~~~~
**Recommended migration:** See the [Mechanical Efficiency Migration Guide](/about/migration_guides/mechanical_efficiency.md).
Loading
Loading