Repository: uncscode/particula

Issue:
add condensation routines

Discussion:
sourcery-ai[bot]: # Sourcery Code Quality Report

Merging this PR leaves code quality **unchanged**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 0.00 ⭐ | 0.00 ⭐ | 0.00  |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 28.00 ⭐ | 28.00 ⭐ | 0.00  |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 6.00 ⭐ | 6.00 ⭐ | 0.00  |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **86.05%** ⭐| **86.05%** ⭐| **0.00%**  |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 65 | 65 | 0 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/util/slip_correction.py | 86.05% ⭐ | 86.05% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=419f28eaa83c841f7e64facb07dab3dbb2a3171c&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

Merging this PR leaves code quality **unchanged**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 0.00 ⭐ | 0.00 ⭐ | 0.00  |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 28.00 ⭐ | 28.00 ⭐ | 0.00  |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 6.00 ⭐ | 6.00 ⭐ | 0.00  |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **86.05%** ⭐| **86.05%** ⭐| **0.00%**  |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 65 | 65 | 0 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/util/slip_correction.py | 86.05% ⭐ | 86.05% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=a06b870bc44266aec6be1275423ec341863a61f4&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

❌ &nbsp;Merging this PR will **decrease** code quality in the affected files by **0.33%**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 4.70 ⭐ | 4.73 ⭐ | 0.03 👎 |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 41.17 ⭐ | 42.00 ⭐ | 0.83 👎 |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 8.72 🙂 | 8.83 🙂 | 0.11 👎 |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **74.91%** 🙂| **74.58%** 🙂| **-0.33%** 👎 |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 347 | 378 | 31 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/util/input_handling.py | 73.88% 🙂 | 73.62% 🙂 | -0.26% 👎|
| particula/util/slip_correction.py | 86.05% ⭐ | 86.05% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |
| particula/util/input_handling.py | in\_pressure | 5 ⭐ | 58 ⭐ | 11 😞 | 68.36% 🙂 | Extract out complex expressions |
| particula/util/input_handling.py | in\_viscosity | 5 ⭐ | 54 ⭐ | 10 😞 | 70.89% 🙂 | Extract out complex expressions |
| particula/util/input_handling.py | in\_density | 5 ⭐ | 52 ⭐ | 10 😞 | 71.21% 🙂 | Extract out complex expressions |
| particula/util/input_handling.py | in\_concentration | 5 ⭐ | 52 ⭐ | 10 😞 | 71.21% 🙂 | Extract out complex expressions |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=9688909d24cf886d8afee5f3801749281f2d7f1b&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

❌ &nbsp;Merging this PR will **decrease** code quality in the affected files by **0.33%**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 4.70 ⭐ | 4.73 ⭐ | 0.03 👎 |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 41.17 ⭐ | 42.00 ⭐ | 0.83 👎 |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 8.72 🙂 | 8.83 🙂 | 0.11 👎 |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **74.91%** 🙂| **74.58%** 🙂| **-0.33%** 👎 |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 347 | 378 | 31 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/util/input_handling.py | 73.88% 🙂 | 73.62% 🙂 | -0.26% 👎|
| particula/util/slip_correction.py | 86.05% ⭐ | 86.05% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |
| particula/util/input_handling.py | in\_pressure | 5 ⭐ | 58 ⭐ | 11 😞 | 68.36% 🙂 | Extract out complex expressions |
| particula/util/input_handling.py | in\_viscosity | 5 ⭐ | 54 ⭐ | 10 😞 | 70.89% 🙂 | Extract out complex expressions |
| particula/util/input_handling.py | in\_density | 5 ⭐ | 52 ⭐ | 10 😞 | 71.21% 🙂 | Extract out complex expressions |
| particula/util/input_handling.py | in\_concentration | 5 ⭐ | 52 ⭐ | 10 😞 | 71.21% 🙂 | Extract out complex expressions |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=c9072ce0c06aa6180cee2dfe6474c975ebc9ecfa&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

❌ &nbsp;Merging this PR will **decrease** code quality in the affected files by **0.33%**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 4.70 ⭐ | 4.73 ⭐ | 0.03 👎 |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 41.17 ⭐ | 42.00 ⭐ | 0.83 👎 |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 8.72 🙂 | 8.83 🙂 | 0.11 👎 |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **74.91%** 🙂| **74.58%** 🙂| **-0.33%** 👎 |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 347 | 378 | 31 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/util/input_handling.py | 73.88% 🙂 | 73.62% 🙂 | -0.26% 👎|
| particula/util/slip_correction.py | 86.05% ⭐ | 86.05% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |
| particula/util/input_handling.py | in\_pressure | 5 ⭐ | 58 ⭐ | 11 😞 | 68.36% 🙂 | Extract out complex expressions |
| particula/util/input_handling.py | in\_viscosity | 5 ⭐ | 54 ⭐ | 10 😞 | 70.89% 🙂 | Extract out complex expressions |
| particula/util/input_handling.py | in\_density | 5 ⭐ | 52 ⭐ | 10 😞 | 71.21% 🙂 | Extract out complex expressions |
| particula/util/input_handling.py | in\_concentration | 5 ⭐ | 52 ⭐ | 10 😞 | 71.21% 🙂 | Extract out complex expressions |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=d601246c7b677d41f13336242ff9820c51d8cfb3&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

Merging this PR leaves code quality **unchanged**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 1.86 ⭐ | 1.86 ⭐ | 0.00  |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 17.40 ⭐ | 17.40 ⭐ | 0.00  |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 6.04 ⭐ | 6.04 ⭐ | 0.00  |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **87.80%** ⭐| **87.80%** ⭐| **0.00%**  |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 151 | 152 | 1 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/util/input_handling.py | 88.21% ⭐ | 88.21% ⭐ | 0.00% |
| particula/util/slip_correction.py | 83.07% ⭐ | 83.07% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |
| particula/util/input_handling.py | in\_handling | 5 ⭐ | 54 ⭐ | 12 😞 | 67.26% 🙂 | Extract out complex expressions |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=40be8d5ba81df8192d7315393115a1acf7b00f39&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

Merging this PR leaves code quality **unchanged**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 1.86 ⭐ | 1.86 ⭐ | 0.00  |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 17.40 ⭐ | 17.40 ⭐ | 0.00  |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 6.04 ⭐ | 6.04 ⭐ | 0.00  |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **87.80%** ⭐| **87.80%** ⭐| **0.00%**  |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 151 | 152 | 1 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/util/input_handling.py | 88.21% ⭐ | 88.21% ⭐ | 0.00% |
| particula/util/slip_correction.py | 83.07% ⭐ | 83.07% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |
| particula/util/input_handling.py | in\_handling | 5 ⭐ | 54 ⭐ | 12 😞 | 67.26% 🙂 | Extract out complex expressions |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=270cadb77a0711e759a923cbabe56333679a7a69&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

Merging this PR leaves code quality **unchanged**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 1.86 ⭐ | 1.86 ⭐ | 0.00  |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 17.40 ⭐ | 17.40 ⭐ | 0.00  |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 6.04 ⭐ | 6.04 ⭐ | 0.00  |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **87.80%** ⭐| **87.80%** ⭐| **0.00%**  |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 151 | 152 | 1 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/util/input_handling.py | 88.21% ⭐ | 88.21% ⭐ | 0.00% |
| particula/util/slip_correction.py | 83.07% ⭐ | 83.07% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |
| particula/util/input_handling.py | in\_handling | 5 ⭐ | 54 ⭐ | 12 😞 | 67.26% 🙂 | Extract out complex expressions |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=c3c6aa7b9c47bb3bbda1c709f4dfab3a32873972&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

Merging this PR leaves code quality **unchanged**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 1.00 ⭐ | 1.00 ⭐ | 0.00  |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 26.50 ⭐ | 26.50 ⭐ | 0.00  |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 7.00 🙂 | 7.00 🙂 | 0.00  |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **83.07%** ⭐| **83.07%** ⭐| **0.00%**  |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 67 | 67 | 0 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/util/slip_correction.py | 83.07% ⭐ | 83.07% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=fb0a337cbb5adb82487b5e0c1b790dd28b35a4ed&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

Merging this PR leaves code quality **unchanged**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 1.00 ⭐ | 1.00 ⭐ | 0.00  |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 26.50 ⭐ | 26.50 ⭐ | 0.00  |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 7.00 🙂 | 7.00 🙂 | 0.00  |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **83.07%** ⭐| **83.07%** ⭐| **0.00%**  |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 67 | 67 | 0 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/util/slip_correction.py | 83.07% ⭐ | 83.07% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=9fb81f4b2c752290580981dea1037271b706af13&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

Merging this PR leaves code quality **unchanged**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 1.00 ⭐ | 1.00 ⭐ | 0.00  |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 26.50 ⭐ | 26.50 ⭐ | 0.00  |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 7.00 🙂 | 7.00 🙂 | 0.00  |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **83.07%** ⭐| **83.07%** ⭐| **0.00%**  |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 67 | 67 | 0 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/util/slip_correction.py | 83.07% ⭐ | 83.07% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=50354e2a27d018ee0ddc5d4676ceaad5c750748e&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

Merging this PR leaves code quality **unchanged**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 1.00 ⭐ | 1.00 ⭐ | 0.00  |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 26.50 ⭐ | 26.50 ⭐ | 0.00  |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 7.00 🙂 | 7.00 🙂 | 0.00  |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **83.07%** ⭐| **83.07%** ⭐| **0.00%**  |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 67 | 67 | 0 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/util/slip_correction.py | 83.07% ⭐ | 83.07% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=37cb5c0437377bd48b4ddb9af4f419abcbec74e8&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

Merging this PR leaves code quality **unchanged**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 1.00 ⭐ | 1.00 ⭐ | 0.00  |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 26.50 ⭐ | 26.50 ⭐ | 0.00  |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 7.00 🙂 | 7.00 🙂 | 0.00  |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **83.07%** ⭐| **83.07%** ⭐| **0.00%**  |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 67 | 67 | 0 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/util/slip_correction.py | 83.07% ⭐ | 83.07% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=45b6b512cf9971c1d7a3e04d59ca977a61d5a9db&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

Merging this PR leaves code quality **unchanged**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 1.00 ⭐ | 1.00 ⭐ | 0.00  |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 26.50 ⭐ | 26.50 ⭐ | 0.00  |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 7.00 🙂 | 7.00 🙂 | 0.00  |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **83.07%** ⭐| **83.07%** ⭐| **0.00%**  |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 67 | 67 | 0 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/util/slip_correction.py | 83.07% ⭐ | 83.07% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=4c7cf657649ff05c5b736eb5576a82c6ba69e883&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

Merging this PR leaves code quality **unchanged**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 1.00 ⭐ | 1.00 ⭐ | 0.00  |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 26.50 ⭐ | 26.50 ⭐ | 0.00  |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 7.00 🙂 | 7.00 🙂 | 0.00  |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **83.07%** ⭐| **83.07%** ⭐| **0.00%**  |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 67 | 67 | 0 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/util/slip_correction.py | 83.07% ⭐ | 83.07% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=e58df46231a1bd6bb974c2c492a57186be6ac598&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

❌ &nbsp;Merging this PR will **decrease** code quality in the affected files by **0.62%**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 0.50 ⭐ | 0.41 ⭐ | -0.09 👍 |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 42.85 ⭐ | 43.07 ⭐ | 0.22 👎 |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 6.36 🙂 | 6.39 🙂 | 0.03 👎 |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **82.11%** ⭐| **81.49%** ⭐| **-0.62%** 👎 |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 508 | 596 | 88 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/particle.py | 84.66% ⭐ | 85.60% ⭐ | 0.94% 👍|
| particula/tests/particle_test.py | 78.95% ⭐ | 76.73% ⭐ | -2.22% 👎|
| particula/util/slip_correction.py | 83.07% ⭐ | 83.07% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |
| particula/tests/particle_test.py | test\_multiple\_shapes | 0 ⭐ | 280 ⛔ | 6 ⭐ | 63.02% 🙂 | Try splitting into smaller methods |
| particula/tests/particle_test.py | test\_condensation\_stuff | 0 ⭐ | 156 😞 | 7 🙂 | 68.91% 🙂 | Try splitting into smaller methods |
| particula/particle.py | Particle.\_coag\_prep | 0 ⭐ | 39 ⭐ | 13 😞 | 73.07% 🙂 | Extract out complex expressions |
| particula/tests/particle_test.py | test\_getters | 0 ⭐ | 47 ⭐ | 12 😞 | 73.34% 🙂 | Extract out complex expressions |
| particula/particle.py | ParticleCondensation.vapor\_flux | 0 ⭐ | 37 ⭐ | 10 😞 | 78.59% ⭐ | Extract out complex expressions |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=c3ebb3e6ad63c73027b30996bac65c05a72e4f5d&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

❌ &nbsp;Merging this PR will **decrease** code quality in the affected files by **0.62%**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 0.50 ⭐ | 0.41 ⭐ | -0.09 👍 |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 42.85 ⭐ | 43.07 ⭐ | 0.22 👎 |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 6.36 🙂 | 6.39 🙂 | 0.03 👎 |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **82.11%** ⭐| **81.49%** ⭐| **-0.62%** 👎 |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 508 | 597 | 89 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/particle.py | 84.66% ⭐ | 85.60% ⭐ | 0.94% 👍|
| particula/tests/particle_test.py | 78.95% ⭐ | 76.73% ⭐ | -2.22% 👎|
| particula/util/slip_correction.py | 83.07% ⭐ | 83.07% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |
| particula/tests/particle_test.py | test\_multiple\_shapes | 0 ⭐ | 280 ⛔ | 6 ⭐ | 63.02% 🙂 | Try splitting into smaller methods |
| particula/tests/particle_test.py | test\_condensation\_stuff | 0 ⭐ | 156 😞 | 7 🙂 | 68.91% 🙂 | Try splitting into smaller methods |
| particula/particle.py | Particle.\_coag\_prep | 0 ⭐ | 39 ⭐ | 13 😞 | 73.07% 🙂 | Extract out complex expressions |
| particula/tests/particle_test.py | test\_getters | 0 ⭐ | 47 ⭐ | 12 😞 | 73.34% 🙂 | Extract out complex expressions |
| particula/particle.py | ParticleCondensation.vapor\_flux | 0 ⭐ | 37 ⭐ | 10 😞 | 78.59% ⭐ | Extract out complex expressions |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=617962430053a542137b8f5c40e371098bb1dbb1&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

❌ &nbsp;Merging this PR will **decrease** code quality in the affected files by **0.62%**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 0.50 ⭐ | 0.41 ⭐ | -0.09 👍 |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 42.85 ⭐ | 43.07 ⭐ | 0.22 👎 |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 6.36 🙂 | 6.39 🙂 | 0.03 👎 |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **82.11%** ⭐| **81.49%** ⭐| **-0.62%** 👎 |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 508 | 597 | 89 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/particle.py | 84.66% ⭐ | 85.60% ⭐ | 0.94% 👍|
| particula/tests/particle_test.py | 78.95% ⭐ | 76.73% ⭐ | -2.22% 👎|
| particula/util/slip_correction.py | 83.07% ⭐ | 83.07% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |
| particula/tests/particle_test.py | test\_multiple\_shapes | 0 ⭐ | 280 ⛔ | 6 ⭐ | 63.02% 🙂 | Try splitting into smaller methods |
| particula/tests/particle_test.py | test\_condensation\_stuff | 0 ⭐ | 156 😞 | 7 🙂 | 68.91% 🙂 | Try splitting into smaller methods |
| particula/particle.py | Particle.\_coag\_prep | 0 ⭐ | 39 ⭐ | 13 😞 | 73.07% 🙂 | Extract out complex expressions |
| particula/tests/particle_test.py | test\_getters | 0 ⭐ | 47 ⭐ | 12 😞 | 73.34% 🙂 | Extract out complex expressions |
| particula/particle.py | ParticleCondensation.vapor\_flux | 0 ⭐ | 37 ⭐ | 10 😞 | 78.59% ⭐ | Extract out complex expressions |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=d06904ac06a67ece555609ff88144d3c5d9068b3&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!
sourcery-ai[bot]: # Sourcery Code Quality Report

❌ &nbsp;Merging this PR will **decrease** code quality in the affected files by **0.62%**.

| Quality metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| [Complexity](https://docs.sourcery.ai/GitHub/Quality-Report/#complexity) | 0.50 ⭐ | 0.41 ⭐ | -0.09 👍 |
| [Method Length](https://docs.sourcery.ai/GitHub/Quality-Report/#method-length) | 42.85 ⭐ | 43.07 ⭐ | 0.22 👎 |
| [Working memory](https://docs.sourcery.ai/GitHub/Quality-Report/#working-memory) | 6.36 🙂 | 6.39 🙂 | 0.03 👎 |
| **[Quality](https://docs.sourcery.ai/GitHub/Quality-Report/#quality-score)** | **82.11%** ⭐| **81.49%** ⭐| **-0.62%** 👎 |

| Other metrics | Before | After | Change |
| --- | :---: | :---: | :---: |
| Lines | 508 | 597 | 89 |

| Changed files | Quality Before | Quality After | Quality Change |
| --- | :---: | :---: | :---: |
| particula/particle.py | 84.66% ⭐ | 85.60% ⭐ | 0.94% 👍|
| particula/tests/particle_test.py | 78.95% ⭐ | 76.73% ⭐ | -2.22% 👎|
| particula/util/slip_correction.py | 83.07% ⭐ | 83.07% ⭐ | 0.00% |

Here are some functions in these files that still need a tune-up:

| File | Function | Complexity | Length | Working Memory | Quality | Recommendation |
| --- | --- | :---: | :---: | :---: | :---: | --- |
| particula/tests/particle_test.py | test\_multiple\_shapes | 0 ⭐ | 280 ⛔ | 6 ⭐ | 63.02% 🙂 | Try splitting into smaller methods |
| particula/tests/particle_test.py | test\_condensation\_stuff | 0 ⭐ | 156 😞 | 7 🙂 | 68.91% 🙂 | Try splitting into smaller methods |
| particula/particle.py | Particle.\_coag\_prep | 0 ⭐ | 39 ⭐ | 13 😞 | 73.07% 🙂 | Extract out complex expressions |
| particula/tests/particle_test.py | test\_getters | 0 ⭐ | 47 ⭐ | 12 😞 | 73.34% 🙂 | Extract out complex expressions |
| particula/particle.py | ParticleCondensation.vapor\_flux | 0 ⭐ | 37 ⭐ | 10 😞 | 78.59% ⭐ | Extract out complex expressions |

## Legend and Explanation

The emojis denote the absolute quality of the code:

 - ⭐ excellent
 - 🙂 good
 - 😞 poor
 - ⛔ very poor


The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request.

***

Please see our documentation [here](https://docs.sourcery.ai/GitHub/Quality-Report/) for details on how these metrics are calculated.

We are actively working on this report - lots more documentation and extra metrics to come!

Help us [improve](https://research.typeform.com/to/j06Spdfr?type=quality_report&github_login=ngam&base_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&base_remote_ref=refs%2Fpull%2F165%2Fhead&base_ref=main&base_sha=51ef1154fc308ff89df7e1a3bb5da44ca4a7567b&head_repo=https%3A%2F%2Fgithub.com%2Funcscode%2Fparticula.git&head_ref=sourcery%2Fpull-165&base_pr_number=165&base_pr_state=open) this quality report!

Patch:
diff --git a/particula/particle.py b/particula/particle.py
index 6023dd63c..3b9e2f75a 100644
--- a/particula/particle.py
+++ b/particula/particle.py
@@ -4,16 +4,22 @@
 import numpy as np
 
 from particula import u
-from particula.constants import (BOLTZMANN_CONSTANT, ELECTRIC_PERMITTIVITY,
+from particula.constants import (AVOGADRO_NUMBER, BOLTZMANN_CONSTANT,
+                                 ELECTRIC_PERMITTIVITY,
                                  ELEMENTARY_CHARGE_VALUE)
 from particula.util.dimensionless_coagulation import DimensionlessCoagulation
 from particula.util.distribution_discretization import discretize
 from particula.util.friction_factor import frifac
+from particula.util.fuchs_sutugin import fsc
 from particula.util.input_handling import (in_density, in_handling, in_radius,
                                            in_scalar, in_volume)
 from particula.util.knudsen_number import knu
+from particula.util.molecular_enhancement import mol_enh
 from particula.util.particle_mass import mass
+from particula.util.particle_surface import area
 from particula.util.radius_cutoff import cut_rad
+from particula.util.reduced_quantity import reduced_quantity as redq
+from particula.util.rms_speed import cbar
 from particula.util.slip_correction import scf
 from particula.vapor import Vapor
 
@@ -178,7 +184,67 @@ class ParticleInstances(ParticleDistribution):
         )
 
 
-class Particle(ParticleInstances):
+class ParticleCondensation(ParticleInstances):
+    """ calculate some condensation stuff
+    """
+
+    def __init__(self, **kwargs):
+        """ more particle objects.
+        """
+        super().__init__(**kwargs)
+        self.kwargs = kwargs
+
+    def molecular_enhancement(self):
+        """ molecular enhancement
+        """
+        return mol_enh(
+            vapor_size=self.vapor_radius,
+            particle_size=self.particle_radius
+        )
+
+    def condensation_redmass(self):
+        """ red mass
+        """
+        return redq(
+            np.transpose([self.vapor_molec_wt.m])*self.vapor_molec_wt.u,
+            mass(radius=self.particle_radius, **self.kwargs)*AVOGADRO_NUMBER
+        )
+
+    def vapor_speed(self):
+        """ vapor speed
+        """
+        return cbar(
+            temperature=self.temperature,
+            molecular_weight=self.condensation_redmass(),
+            gas_constant=self.gas_constant,
+        )/4
+
+    def vapor_flux(self):
+        """ vapor flux
+        """
+        return (
+            area(radius=self.particle_radius, area_factor=1) *
+            self.molecular_enhancement() *
+            self.vapor_attachment *
+            self.vapor_speed() *
+            self.driving_force() *
+            fsc(knu_val=self.knudsen_number(), alpha=1)
+        )
+
+    def particle_growth(self):
+        """ particle growth in m/s
+        """
+        return (
+            self.vapor_flux() * 2 / (
+                self.vapor_density *
+                self.particle_radius**2 *
+                np.pi *
+                self.shape_factor
+            )
+        )
+
+
+class Particle(ParticleCondensation):
     """ the Particle class!
     """
 
diff --git a/particula/util/fuchs_sutugin.py b/particula/util/fuchs_sutugin.py
new file mode 100644
index 000000000..6c71f31f2
--- /dev/null
+++ b/particula/util/fuchs_sutugin.py
@@ -0,0 +1,34 @@
+""" the Fuchs-Sutugin model transition regime correction
+"""
+
+import numpy as np
+from particula.util.knudsen_number import knu
+from particula.util.input_handling import in_scalar
+
+
+def fsc(
+    knu_val=None,
+    alpha=1,
+    **kwargs
+):
+    """ Returns the Fuchs-Sutugin model transition regime correction.
+
+        Parameters:
+            knu     (float)  [ ] (default: util)
+            alpha   (float)  [ ] (default: 1)
+
+        Returns:
+                (float)  [ ]
+
+        Notes:
+            knu can be calculated using knu(**kwargs);
+            refer to particula.util.knudsen_number.knu for more info.
+    """
+
+    knu_val = knu(**kwargs) if knu_val is None else in_scalar(knu_val)
+    alpha = np.transpose([in_scalar(alpha).m])*in_scalar(alpha).u
+
+    return np.transpose(
+        knu_val * alpha * (1 + knu_val) /
+        (knu_val**2 + knu_val + 0.283 * knu_val * alpha + 0.75 * alpha)
+    )
diff --git a/particula/util/molecular_enhancement.py b/particula/util/molecular_enhancement.py
new file mode 100644
index 000000000..1b1c308ed
--- /dev/null
+++ b/particula/util/molecular_enhancement.py
@@ -0,0 +1,31 @@
+""" calculating molecular enhancment of collision.
+
+    mol_enh =
+        ( (vapor_size + particle_size) / (particle_size) ) ** 2
+
+"""
+
+import numpy as np
+from particula.util.input_handling import in_length
+
+
+def mol_enh(vapor_size, particle_size):
+    """ Returns the molecular enhancement.
+
+        Parameters:
+            vapor_size      (float)  [m]
+            particle_size   (float)  [m]
+
+        Returns:
+                    (float)  [ ]
+
+        TODO:
+            - Add explanation of molecular enhancement.
+    """
+
+    a_q = in_length(vapor_size)
+    b_q = in_length(particle_size)
+
+    return np.transpose(
+        (np.transpose([a_q.m])*a_q.u + b_q) / (b_q)
+    )**2
diff --git a/particula/util/particle_surface.py b/particula/util/particle_surface.py
new file mode 100644
index 000000000..56497eae6
--- /dev/null
+++ b/particula/util/particle_surface.py
@@ -0,0 +1,25 @@
+""" calculating the particle area
+"""
+
+import numpy as np
+from particula.util.input_handling import in_radius, in_scalar
+
+
+def area(
+    radius=None,
+    area_factor=1,
+):
+    """ Returns particle's surface area: 4 pi r^2 .
+
+        Parameters:
+            radius       (float) [m]
+            area_factor  (float) [ ]      (default: 1)
+
+        Returns:
+                         (float) [m^2]
+    """
+
+    radius = in_radius(radius)
+    area_factor = in_scalar(area_factor)
+
+    return 4*np.pi*(radius**2)*area_factor
diff --git a/particula/util/rms_speed.py b/particula/util/rms_speed.py
new file mode 100644
index 000000000..805349ba5
--- /dev/null
+++ b/particula/util/rms_speed.py
@@ -0,0 +1,36 @@
+""" calculating rms speed of molecules
+"""
+
+import numpy as np
+from particula.constants import GAS_CONSTANT, MOLECULAR_WEIGHT_AIR
+from particula.util.input_handling import (in_gas_constant,
+                                           in_molecular_weight, in_temperature)
+
+
+def cbar(
+    temperature=298.15,
+    molecular_weight=MOLECULAR_WEIGHT_AIR,
+    gas_constant=GAS_CONSTANT,
+):
+    """ Returns the mean speed of molecules in an ideal gas.
+
+        Parameters:
+            temperature           (float) [K]      (default: 298.15)
+            molecular_weight      (float) [kg/mol] (default: constants)
+
+        Returns:
+                                  (float) [m/s]
+
+        Using particula.constants:
+            GAS_CONSTANT            (float) [J/mol/K]
+            MOLECULAR_WEIGHT_AIR    (float) [kg/mol]
+
+    """
+
+    temperature = in_temperature(temperature)
+    molecular_weight = in_molecular_weight(molecular_weight)
+    gas_constant = in_gas_constant(gas_constant)
+
+    return (
+        (8 * gas_constant * temperature/(np.pi * molecular_weight))**0.5
+    ).to_base_units()
diff --git a/particula/util/slip_correction.py b/particula/util/slip_correction.py
index de032172a..8a2edd878 100644
--- a/particula/util/slip_correction.py
+++ b/particula/util/slip_correction.py
@@ -49,7 +49,7 @@ def scf(
 
         Parameters:
             radius  (float) [m]
-            knu     (float) [m] (default: util)
+            knu     (float) [ ] (default: util)
 
         Returns:
                     (float) [dimensionless]


Test patch:
diff --git a/particula/tests/particle_test.py b/particula/tests/particle_test.py
index 77429cc3a..81fb0ceba 100644
--- a/particula/tests/particle_test.py
+++ b/particula/tests/particle_test.py
@@ -279,3 +279,39 @@ def test_coulomb_enh():
 #     assert negative_ion.dimensioned_coagulation_kernel(
 #         positive_particle,
 #     ).check("[length]**3/[time]")
+
+
+def test_condensation_stuff():
+    """ testing condensation stuff
+    """
+
+    simple_cond_kwargs = {
+        "mode": 200e-9,  # 200 nm median
+        "nbins": 1000,  # 1000 bins
+        "nparticles": 2e6,  # 1e4 #
+        "volume": 1e-6,  # per 1e-6 m^3 (or 1 cc)
+        "gsigma": 1.25,  # relatively narrow
+        "cutoff": .99999,  # let's take it all lol
+        "vapor_radius": 1.6e-9,  # 1.6 nm
+        "vapor_density": 1400,  # 1400 kg/m^3
+        "vapor_concentration": 1,  # 1 ug/m^3
+        "vapor_attachment": 1,  # 1
+        "vapor_molec_wt": 200,  # 200 g/mol
+        "something_something": None
+    }
+
+    cond = particle.Particle(**simple_cond_kwargs)
+
+    assert cond.particle_radius.m.shape == (1000,)
+    assert cond.driving_force().u == u.kg/u.m**3
+    # assert cond.driving_force().m.shape == (1,)
+    assert cond.molecular_enhancement().u == u.dimensionless
+    assert cond.molecular_enhancement().m.shape == (1000,)
+    assert cond.condensation_redmass().u == u.kg/u.mol
+    assert cond.condensation_redmass().m.shape == (1000,)
+    assert cond.vapor_speed().u == u.m/u.s
+    assert cond.vapor_speed().m.shape == (1000,)
+    assert cond.vapor_flux().u == u.kg/u.s
+    assert cond.vapor_flux().m.shape == (1000,)
+    assert cond.particle_growth().u == u.m/u.s
+    assert cond.particle_growth().m.shape == (1000,)
diff --git a/particula/util/tests/fuchs_sutugin_test.py b/particula/util/tests/fuchs_sutugin_test.py
new file mode 100644
index 000000000..b61bd995f
--- /dev/null
+++ b/particula/util/tests/fuchs_sutugin_test.py
@@ -0,0 +1,19 @@
+""" test the fuchs_sutugin calc
+"""
+
+import pytest
+from particula.util.fuchs_sutugin import fsc
+from particula import u
+
+
+def test_fuchs_sutugin():
+    """ test
+    """
+
+    assert fsc(radius=1e-9).u == u.dimensionless
+    assert fsc(radius=1).m == pytest.approx(0, abs=1e-7)
+    assert fsc(radius=1e-10).m == pytest.approx(1, abs=1e-3)
+    assert fsc(radius=[1, 2], alpha=1).m.shape == (2,)
+    assert fsc(radius=[1, 2], alpha=[1, 2]).m.shape == (2, 2)
+    assert fsc(radius=1, alpha=[1, 0.9]).m.shape == (1, 2)
+    assert fsc(radius=1e-6, alpha=0).m == 0
diff --git a/particula/util/tests/molecular_enhancement_test.py b/particula/util/tests/molecular_enhancement_test.py
new file mode 100644
index 000000000..82a14e5ef
--- /dev/null
+++ b/particula/util/tests/molecular_enhancement_test.py
@@ -0,0 +1,30 @@
+""" testing the mol_enh calc
+"""
+
+import pytest
+from particula import u
+from particula.util.molecular_enhancement import mol_enh
+
+
+def test_mol_enh():
+    """ testing mol_enh
+    """
+
+    a_mol_enh = mol_enh(vapor_size=1, particle_size=1)
+    b_mol_enh = mol_enh(vapor_size=1, particle_size=1)
+
+    assert a_mol_enh == 4
+    assert a_mol_enh == b_mol_enh
+    assert a_mol_enh.units == u.dimensionless
+
+    assert mol_enh(vapor_size=1, particle_size=[1, 2]).m.shape == (2,)
+    assert mol_enh(vapor_size=[1, 2], particle_size=1).m.shape == (1, 2)
+    assert mol_enh(
+        vapor_size=[1, 2], particle_size=[1, 2, 3]
+    ).m.shape == (3, 2)
+
+    with pytest.raises(ValueError):
+        mol_enh(vapor_size=5*u.m, particle_size=5*u.s)
+
+    with pytest.raises(ValueError):
+        mol_enh(vapor_size=1*u.kg, particle_size=5*u.m)
diff --git a/particula/util/tests/particle_surface_test.py b/particula/util/tests/particle_surface_test.py
new file mode 100644
index 000000000..903a97043
--- /dev/null
+++ b/particula/util/tests/particle_surface_test.py
@@ -0,0 +1,41 @@
+""" test the particle mass calculation
+"""
+
+import numpy as np
+import pytest
+from particula import u
+from particula.util.particle_surface import area
+
+
+def test_particle_mass():
+    """ Testing the particle area calculation:
+
+            * check defaults
+            * check raise errors
+            * check output units/mag
+            * ensures radius is mandatory
+    """
+
+    a_radius = 1 * u.m
+
+    b_radius = a_radius.m
+
+    a_area = area(radius=a_radius)
+    b_area = area(radius=b_radius)
+
+    assert a_area.magnitude == 4 * np.pi
+    assert a_area.units == u.m**2
+    assert b_area == a_area
+
+    assert area(radius=[1e-9, 1e-8]).m.shape == (2,)
+    assert area(radius=1-9, area_factor=[1, 0.9]).m.shape == (2,)
+    assert area(radius=[1e-9, 1e-8], area_factor=[1, 0.9]).m.shape == (2,)
+
+    with pytest.raises(ValueError):
+        area(radius=1*u.kg)
+
+    with pytest.raises(ValueError):
+        area(radius=1*u.m, area_factor=1*u.kg)
+
+    with pytest.raises(ValueError):
+        area()
diff --git a/particula/util/tests/rms_speed_test.py b/particula/util/tests/rms_speed_test.py
new file mode 100644
index 000000000..c0b04a938
--- /dev/null
+++ b/particula/util/tests/rms_speed_test.py
@@ -0,0 +1,36 @@
+""" testing the cbar calc
+"""
+
+import pytest
+from particula import u
+from particula.util.rms_speed import cbar
+
+
+def test_cbar():
+    """ Testing the mean speed of molecules:
+
+        1. test unitless and unit inputs
+        2. test correct units
+        3. test errors for invalid inputs
+
+    """
+
+    a_cbar = cbar()
+    b_cbar = cbar(temperature=298.15)
+    c_cbar = cbar(temperature=300, molecular_weight=0.03)
+
+    assert a_cbar == b_cbar
+    assert a_cbar.units == u.m/u.s
+    assert c_cbar <= a_cbar
+
+    assert cbar(temperature=[200, 300]).m.shape == (2,)
+    assert cbar(molecular_weight=[0.03, 0.04]).m.shape == (2,)
+    assert cbar(
+        temperature=[200, 300], molecular_weight=[0.03, 0.04]
+    ).m.shape == (2,)
+
+    with pytest.raises(ValueError):
+        cbar(temperature=5*u.m)
+
+    with pytest.raises(ValueError):
+        cbar(temperature=298*u.K, molecular_weight=5*u.m)