Skip to content

Commit

Permalink
docs: clean up documentation around compressor modelling including ad…
Browse files Browse the repository at this point in the history
…ding some missing keywords (#528)

ECALC-1235
ECALC-1236
ECALC-1237
ECALC-1238
ECALC-1239
  • Loading branch information
olelod authored Jun 14, 2024
1 parent 5416871 commit 26d4aba
Show file tree
Hide file tree
Showing 17 changed files with 366 additions and 25 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Compressor charts
title: Compressor chart
sidebar_position: 2
description: Introduction into compressor charts
description: Introduction to compressor chart
---

# Compressor chart
Expand Down Expand Up @@ -157,15 +157,18 @@ Unified generic compressor chart:

![](generic_unified_compressor_chart.png)

The compressor chart is created by scaling the unified generic compressor chart in the figure above with a design actual
rate and head. Note that the rate is here in the units *am3/hr* which is NOT EQUAL to *Sm3/hr*.
The units *am3/hr* refers to the volumetric rate at inlet conditions (inlet pressure and temperature), and it will differ from the inputted standard rates
due to the difference in density.
The design polytropic head is given in either *kJ/kg*, *m* or J/kg, `UNITS`.

The generic compressor chart is currently accompanied by a fixed polytropic efficiency (polytropic efficiency
The compressor chart is created by scaling the unified generic compressor chart in the figure above with a
[DESIGN_RATE](/about/references/keywords/DESIGN_RATE.md) and a [DESIGN_HEAD](/about/references/keywords/DESIGN_HEAD.md).
The generic compressor chart is currently accompanied by a fixed
[POLYTROPIC_EFFICIENCY](/about/references/keywords/POLYTROPIC_EFFICIENCY.md) (polytropic efficiency
variations within the chart may be supported in the future).

The [UNITS](/about/references/keywords/UNITS.md) for the `RATE`, `HEAD` and `EFFICIENCY` must also be defined. Note that
the only rate unit available here is *am3/hr* which is NOT EQUAL to *Sm3/hr*. The units *am3/hr* refers to the
volumetric rate at inlet conditions (inlet pressure and temperature), and it will differ from the inputted standard
rates due to the difference in density. The design polytropic head is given in either *kJ/kg*, *m* or J/kg.


### Format
~~~~~~~~yaml
MODELS:
Expand Down Expand Up @@ -226,6 +229,11 @@ The generic chart from input is also based on the unified generic compressor cha
However, in this case the design point is not specified when setting up the model, instead it is estimated at run time and is entirely based on the inputted data set.
An algorithm is used to set a design point such that all the input data is within the capacity.
Even if there is a large spread in the data, all data points will solve. High rate/head data points will just be covered by the curve; whilst low rate points outside the minimum flow point will have recirculation.
The generic compressor chart is currently accompanied by a fixed
[POLYTROPIC_EFFICIENCY](/about/references/keywords/POLYTROPIC_EFFICIENCY.md) (polytropic efficiency
variations within the chart may be supported in the future).

The [UNITS](/about/references/keywords/UNITS.md) for the `EFFICIENCY` must also be defined.

This method has one major potential downside in comparison to the `Generic compressor chart with predefined design point`. As all data points will be covered by the compressor curve, if there is an extremely large or unrealistic head or rate value, the other more "normal" data points will be impacted and will either result in a large head adjustment (via upstream/downstream choking) or it will have a large recirculation rate. This has the potential to skew the entire data set solely due to one unrealistic data point. Thus, if this generic chart is utilised it is important to make sure that unrealistic data is filtered out.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,15 @@ This means that a single speed compressor model needs the following to be define

- A polytropic compressor chart for every compressor stage in the compressor train. For single speed trains, eCalc
only supports user defined single speed compressor charts.
- A [FLUID MODEL](/about/modelling/setup/models/fluid_model.md).
- A [PRESSURE_CONTROL](/about/modelling/setup/models/compressor_modelling/fixed_speed_pressure_control/index.md).
- A [FLUID_MODEL](/about/references/keywords/FLUID_MODEL.md).
- A [PRESSURE_CONTROL](/about/references/keywords/PRESSURE_CONTROL.md).

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

- [MAXIMUM_DISCHARGE_PRESSURE](/about/references/keywords/MAXIMUM_DISCHARGE_PRESSURE.md)
- [POWER_ADJUSTMENT_CONSTANT](/about/references/keywords/POWER_ADJUSTMENT_CONSTANT.md)
- [MAXIMUM_POWER](/about/references/keywords/MAXIMUM_POWER.md)
- [CALCULATE_MAX_RATE](/about/references/keywords/CALCULATE_MAX_RATE.md)

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

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/about/modelling/setup/models/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ MODELS:
The supported types are:

- `FLUID` described in more detail in [Fluid model](/about/modelling/setup/models/fluid_model.md)
- `COMPRESSOR_CHART`
- `COMPRESSOR_CHART` described in more detail in [Compressor chart](/about/modelling/setup/models/compressor_modelling/compressor_charts/index.md)
- `SINGLE_SPEED_COMPRESSOR_TRAIN`
- `SIMPLIFIED_VARIABLE_SPEED_COMPRESSOR_TRAIN`
- `VARIABLE_SPEED_COMPRESSOR_TRAIN`
Expand Down
53 changes: 53 additions & 0 deletions docs/docs/about/references/keywords/CALCULATE_MAX_RATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# CALCULATE_MAX_RATE

[MODELS](/about/references/keywords/MODELS.md) /
[CALCULATE_MAX_RATE](/about/references/keywords/CALCULATE_MAX_RATE.md)

## Description

The keyword [CALCULATE_MAX_RATE](CALCULATE_MAX_RATE) is optional with default value `False`. When set to `True`, the
maximum standard rate the compressor train model can handle, based on the input suction and discharge pressures, will
be calculated and reported in the results. This will be done for all dates according to the requested output frequency.

Calculation of maximum standard rate is supported for compressor train models of type:
- [SINGLE_SPEED_COMPRESSOR_TRAIN](/about/modelling/setup/models/compressor_modelling/compressor_models_types/single_speed_compressor_train_model.md)
- [SIMPLIFIED_VARIABLE_SPEED_COMPRESSOR_TRAIN](/about/modelling/setup/models/compressor_modelling/compressor_models_types/simplified_variable_speed_compressor_train_model.md)
- [VARIABLE_SPEED_COMPRESSOR_TRAIN](/about/modelling/setup/models/compressor_modelling/compressor_models_types/variable_speed_compressor_train_model.md)
- [VARIABLE_SPEED_COMPRESSOR_TRAIN_MULTIPLE_STREAMS_AND_PRESSURES](/about/modelling/setup/models/compressor_modelling/compressor_models_types/variable_speed_compressor_train_model_with_multiple_streams_and_pressures.md).


:::warning Warning
The CALCULATE_MAX_RATE keyword will in most cases add significantly to the run time of the model.
Only use when needed!
:::

## Format

~~~~~~~~yaml
MODELS:
- NAME: <model name>
TYPE: SIMPLIFIED_VARIABLE_SPEED_COMPRESSOR_TRAIN
FLUID_MODEL: <reference to fluid model, must be defined in [MODELS]>
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>
- ... and so forth for each stage in the train
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. >
...
~~~~~~~~

## Example

~~~~~~~~yaml
MODELS:
- NAME: simplified_compressor_model
TYPE: SIMPLIFIED_VARIABLE_SPEED_COMPRESSOR_TRAIN
FLUID_MODEL: fluid_model_1
COMPRESSOR_TRAIN:
STAGES:
- INLET_TEMPERATURE: 30
COMPRESSOR_CHART: predefined_variable_speed_compressor_chart
CALCULATE_MAX_RATE: True
~~~~~~~~

33 changes: 33 additions & 0 deletions docs/docs/about/references/keywords/CHART_TYPE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# CHART_TYPE

## Description

`CHART_TYPE` is a required to be specified under the [MODELS](/about/references/keywords/MODELS.md) keyword when
the model is of [TYPE](/about/references/keywords/TYPE.md) `COMPRESSOR_CHART`.

The `CHART_TYPE` can either be set to:
- SINGLE_SPEED
- VARIABLE_SPEED
- GENERIC_FROM_INPUT
- GENERIC_FROM_DESIGN_POINT


## Format

~~~~yaml
MODELS:
- NAME: <name of model>
TYPE: COMPRESSOR_CHART
CHART_TYPE: <SINGLE_SPEED, VARIABLE_SPEED, GENERIC_FROM_INPUT or GENERIC_FROM_DESIGN_POINT>
...
~~~~

## Example

~~~~yaml
MODELS:
- NAME: compressor_chart_model_reference_name
TYPE: COMPRESSOR_CHART
CHART_TYPE: SINGLE_SPEED
...
~~~~
36 changes: 36 additions & 0 deletions docs/docs/about/references/keywords/COMPRESSOR_CHART.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# COMPRESSOR_CHART

[MODELS](/about/references/keywords/MODELS.md) /
[...] /
[STAGES](/about/references/keywords/STAGES.md) /
[COMPRESSOR_CHART](/about/references/keywords/COMPRESSOR_CHART.md)


## Description
This is a keyword used in [COMPRESSOR MODELLING](/about/modelling/setup/models/compressor_modelling/compressor_models_types/index.md) when defining the individual stages of a compressor train.
It is a necessary input parameter which is a reference to a [compressor chart model](/about/modelling/setup/models/compressor_modelling/compressor_charts/index.md) defined in [MODELS](/about/references/keywords/MODELS.md).


## Format

~~~~~yaml
MODELS:
- NAME: <model name>
...
COMPRESSOR_TRAIN:
STAGES:
- COMPRESSOR_CHART: <reference to compressor chart model>
...
~~~~~

## Example

~~~~~yaml
MODELS:
- NAME: compressor_train
...
COMPRESSOR_TRAIN:
STAGES:
- COMPRESSOR_CHART: stage1_compressor_chart
...
~~~~~
25 changes: 25 additions & 0 deletions docs/docs/about/references/keywords/COMPRESSOR_TRAIN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# COMPRESSOR_TRAIN

## Description

This keyword is necessary when defining a compressor model. It relates to defining the actual
[STAGES](/about/references/keywords/STAGES.md) in the compressor model.

## Format

~~~~yaml
MODELS:
- NAME: <model name>
TYPE: <compressor model type>
FLUID_MODEL: <reference to fluid model, must be defined in MODELS>
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>
PRESSURE_DROP_AHEAD_OF_STAGE: <Pressure drop before compression stage [in bar]>
- 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>
PRESSURE_DROP_AHEAD_OF_STAGE: <Pressure drop before compression stage [in bar]>
- ... and so forth for each stage in the train
...
~~~~
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
| Yes | `ENERGY_USAGE_MODEL` | None |

## Description
Reference to an compressor train model defined in [FACILITY_INPUTS](/about/references/keywords/FACILITY_INPUTS.md) or
Reference to a compressor train model defined in [FACILITY_INPUTS](/about/references/keywords/FACILITY_INPUTS.md) or
[MODELS](/about/references/keywords/MODELS.md) used for [ENERGY_USAGE_MODEL](/about/references/keywords/ENERGY_USAGE_MODEL.md)
TYPE [VARIABLE_SPEED_COMPRESSOR_TRAIN_MULTIPLE_STREAMS_AND_PRESSURES](/about/modelling/setup/models/compressor_modelling/compressor_models_types/variable_speed_compressor_train_model_with_multiple_streams_and_pressures.md).

Expand Down
3 changes: 2 additions & 1 deletion docs/docs/about/references/keywords/CONTROL_MARGIN.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

[MODELS](/about/references/keywords/MODELS.md) /
[...] /
[STAGES](/about/references/keywords/STAGES.md)
[STAGES](/about/references/keywords/STAGES.md) /
[CONTROL_MARGIN](/about/references/keywords/CONTROL_MARGIN.md)

## Description

Expand Down
3 changes: 2 additions & 1 deletion docs/docs/about/references/keywords/CONTROL_MARGIN_UNIT.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

[MODELS](/about/references/keywords/MODELS.md) /
[...] /
[STAGES](/about/references/keywords/STAGES.md)
[STAGES](/about/references/keywords/STAGES.md) /
[CONTROL_MARGIN_UNIT](/about/references/keywords/CONTROL_MARGIN_UNIT.md)

## Description

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

## Description

`DESIGN_HEAD` is required to be specified under the [MODELS](/about/references/keywords/MODELS.md) keyword when
the model is of [TYPE](/about/references/keywords/TYPE.md) `COMPRESSOR_CHART` **and** the [CHART_TYPE](/about/references/keywords/CHART_TYPE.md)
is `GENERIC_FROM_DESIGN_POINT`. For more details see [Generic compressor chart with predefined design point](/about/modelling/setup/models/compressor_modelling/compressor_charts/index.md#generic-compressor-chart-with-predefined-design-point)

## Format

~~~~yaml
MODELS:
- NAME: <name of model>
TYPE: COMPRESSOR_CHART
CHART_TYPE: <only for GENERIC_FROM_DESIGN_POINT>
POLYTROPIC_EFFICIENCY: <polytropic efficiency of the compressor (fixed number)>
DESIGN_RATE: <design rate>
DESIGN_HEAD: <design head>
UNITS:
RATE: <rate unit, currently only AM3_PER_HOUR supported>
HEAD: <polytropic head unit, M, KJ_PER_KG, JOULE_PER_KG supported>
EFFICIENCY: <polytropic efficiency unit, FRACTION and PERCENTAGE.>
...
~~~~

## Example

~~~~yaml
MODELS:
- NAME: generic_from_design_point_compressor_chart
TYPE: COMPRESSOR_CHART
CHART_TYPE: GENERIC_FROM_DESIGN_POINT
POLYTROPIC_EFFICIENCY: 0.75
DESIGN_RATE: 7000
DESIGN_HEAD: 50
UNITS:
RATE: AM3_PER_HOUR
HEAD: KJ_PER_KG
EFFICIENCY: FRACTION
~~~~
40 changes: 40 additions & 0 deletions docs/docs/about/references/keywords/DESIGN_RATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# DESIGN_RATE

## Description

`DESIGN_RATE` is required to be specified under the [MODELS](/about/references/keywords/MODELS.md) keyword when
the model is of [TYPE](/about/references/keywords/TYPE.md) `COMPRESSOR_CHART` **and** the [CHART_TYPE](/about/references/keywords/CHART_TYPE.md)
is `GENERIC_FROM_DESIGN_POINT`. For more details see [Generic compressor chart with predefined design point](/about/modelling/setup/models/compressor_modelling/compressor_charts/index.md#generic-compressor-chart-with-predefined-design-point)

## Format

~~~~yaml
MODELS:
- NAME: <name of model>
TYPE: COMPRESSOR_CHART
CHART_TYPE: <only for GENERIC_FROM_DESIGN_POINT>
POLYTROPIC_EFFICIENCY: <polytropic efficiency of the compressor (fixed number)>
DESIGN_RATE: <design rate>
DESIGN_HEAD: <design head>
UNITS:
RATE: <rate unit, currently only AM3_PER_HOUR supported>
HEAD: <polytropic head unit, M, KJ_PER_KG, JOULE_PER_KG supported>
EFFICIENCY: <polytropic efficiency unit, FRACTION and PERCENTAGE.>
...
~~~~

## Example

~~~~yaml
MODELS:
- NAME: generic_from_design_point_compressor_chart
TYPE: COMPRESSOR_CHART
CHART_TYPE: GENERIC_FROM_DESIGN_POINT
POLYTROPIC_EFFICIENCY: 0.75
DESIGN_RATE: 7000
DESIGN_HEAD: 50
UNITS:
RATE: AM3_PER_HOUR
HEAD: KJ_PER_KG
EFFICIENCY: FRACTION
~~~~
5 changes: 3 additions & 2 deletions docs/docs/about/references/keywords/INLET_TEMPERATURE.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
# INLET_TEMPERATURE

[MODELS](/about/references/keywords/MODELS.md) / [INLET_TEMPERATURE](/about/references/keywords/INLET_TEMPERATURE.md)
[MODELS](/about/references/keywords/MODELS.md) / [...] / [STAGES](/about/references/keywords/STAGES.md) / [INLET_TEMPERATURE](/about/references/keywords/INLET_TEMPERATURE.md)

| Required | Child of | Children/Options |
|----------|------------------------------------------------|------------------|
| Yes | [MODELS](/about/references/keywords/MODELS.md) | None |

## Description
This is a keyword used in [COMPRESSOR MODELLING](/about/modelling/setup/models/compressor_modelling/compressor_models_types/index.md). It is a necessary input parameter which describes the inlet temperature to a compressor stage. Temperature **must** be given in <sup>o</sup>C.
This is a keyword used in [COMPRESSOR MODELLING](/about/modelling/setup/models/compressor_modelling/compressor_models_types/index.md) when defining the individual stages of a compressor train.
It is a necessary input parameter which describes the inlet temperature to a compressor stage. Temperature **must** be given in <sup>o</sup>C.

As of now, this is can only be given as a single value. Time-series are not accepted here.

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

## Description

`POLYTROPIC_EFFICIENCY` is required to be specified under the [MODELS](/about/references/keywords/MODELS.md) keyword when
the model is of [TYPE](/about/references/keywords/TYPE.md) `COMPRESSOR_CHART` **and** the [CHART_TYPE](/about/references/keywords/CHART_TYPE.md)
is either `GENERIC_FROM_INPUT`or `GENERIC_FROM_DESIGN_POINT`. The polytropic efficiency will be a fixed number for all
rate/head values in the compressor chart.


## Format

~~~~yaml
MODELS:
- NAME: <name of model>
TYPE: COMPRESSOR_CHART
CHART_TYPE: <GENERIC_FROM_INPUT or GENERIC_FROM_DESIGN_POINT>
POLYTROPIC_EFFICIENCY: <polytropic efficiency of the compressor (fixed number)>
UNITS:
EFFICIENCY: <polytropic efficiency unit, FRACTION and PERCENTAGE.>
...
~~~~

## Example

~~~~yaml
MODELS:
- NAME: compressor_chart_model_reference_name
TYPE: COMPRESSOR_CHART
CHART_TYPE: GENERIC_FROM_INPUT
POLYTROPIC_EFFICIENCY: 0.75
UNITS:
EFFICIENCY: FRACTION
...
~~~~
Loading

0 comments on commit 26d4aba

Please sign in to comment.