uncscode / particula

a simple, fast, and powerful particle simulator
https://uncscode.github.io/particula
MIT License
6 stars 9 forks source link

Reorganize, unpack next folder, remove old particula #509

Closed Gorkowski closed 1 month ago

Gorkowski commented 1 month ago

Remove old particula code unpack next folder into particula folder remove old utils used by the old particula code

Fixes #505

Summary by Sourcery

Reorganize the project structure by moving files from the 'next' folder to the main 'particula' folder, and remove deprecated code. Update documentation to reflect these changes.

Enhancements:

Documentation:

github-actions[bot] commented 1 month ago

PR Preview Action v1.4.8 :---: :rocket: Deployed preview to https://uncscode.github.io/particula/pr-preview/pr-509/ on branch gh-pages at 2024-10-17 14:14 UTC

sourcery-ai[bot] commented 1 month ago

Reviewer's Guide by Sourcery

This pull request reorganizes the project structure by moving code from the 'next' folder into the main 'particula' folder, removes old 'particula' code, and updates import statements across the project. It also includes some code formatting changes and removes several unused files.

Class diagram for updated input handling

classDiagram
    class InputHandling {
        +convert_units(old: Union[str, u.Quantity], new: Union[str, u.Quantity])
    }

    note for InputHandling "Removed multiple input handling functions and consolidated into convert_units"

Class diagram for updated vapor pressure builders

classDiagram
    class AntoineBuilder {
        +set_a(a: float, a_units: Optional[str])
        +set_b(b: float, b_units: str)
        +set_c(c: float, c_units: str)
        +build()
    }

    class ClausiusClapeyronBuilder {
        +set_latent_heat(latent_heat: float, latent_heat_units: str)
        +set_temperature_initial(temperature_initial: float, temperature_initial_units: str)
        +set_pressure_initial(pressure_initial: float, pressure_initial_units: str)
        +build()
    }

    class ConstantBuilder {
        +set_vapor_pressure(vapor_pressure: float, vapor_pressure_units: str)
        +build()
    }

    note for AntoineBuilder "Updated string formatting and import paths"
    note for ClausiusClapeyronBuilder "Updated string formatting and import paths"
    note for ConstantBuilder "Updated string formatting and import paths"

Class diagram for updated surface builders

classDiagram
    class SurfaceStrategyMolarBuilder {
        +build() SurfaceStrategyMolar
    }

    class SurfaceStrategyMassBuilder {
        +build() SurfaceStrategyMass
    }

    class SurfaceStrategyVolumeBuilder {
        +build() SurfaceStrategyVolume
    }

    note for SurfaceStrategyMolarBuilder "Updated import paths and string formatting"
    note for SurfaceStrategyMassBuilder "Updated import paths and string formatting"
    note for SurfaceStrategyVolumeBuilder "Updated import paths and string formatting"

File-Level Changes

Change Details Files
Reorganized project structure by moving code from 'next' folder to main 'particula' folder
  • Moved modules from 'particula/next/' to 'particula/'
  • Updated import statements across the project to reflect new structure
  • Removed 'next' prefix from import statements
particula/dynamics/coagulation/kernel.py
particula/gas/atmosphere_builders.py
particula/particles/surface_factories.py
particula/aerosol.py
particula/gas/species_factories.py
particula/particles/representation_factories.py
Removed old 'particula' code and unused files
  • Deleted numerous unused utility files and their corresponding test files
  • Removed old implementation files like 'particle.py', 'environment.py', 'vapor.py', etc.
particula/particle.py
particula/environment.py
particula/vapor.py
particula/util/stats.py
particula/util/species_properties.py
particula/util/coulomb_enhancement.py
Updated import statements in Jupyter notebooks and test files
  • Modified import statements to use new module structure
  • Updated relative imports to absolute imports
docs/Tutorials/Dynamics/Condensation/Condensation_1_Bin.ipynb
docs/Tutorials/Dynamics/Condensation/Condensation_2_MassBin.ipynb
docs/Tutorials/Dynamics/Condensation/Condensation_3_MassResolved.ipynb
docs/Tutorials/Dynamics/Coagulation/Functional/Coagulation_Basic_4_ParticleResolved.ipynb
docs/Tutorials/Dynamics/Coagulation/Functional/Coagulation_Basic_5_SDM.ipynb
Applied code formatting changes
  • Adjusted indentation and line breaks
  • Removed trailing whitespaces
  • Wrapped long lines
particula/gas/properties/mean_free_path.py
particula/particles/distribution_factories.py
particula/particles/properties/diffusion_coefficient.py
particula/particles/surface_strategies.py

Assessment against linked issues

Issue Objective Addressed Explanation
#505 Move contents in next folder up a directory
#505 Delete old particula

Possibly linked issues


Tips and commands #### Interacting with Sourcery - **Trigger a new review:** Comment `@sourcery-ai review` on the pull request. - **Continue discussions:** Reply directly to Sourcery's review comments. - **Generate a GitHub issue from a review comment:** Ask Sourcery to create an issue from a review comment by replying to it. - **Generate a pull request title:** Write `@sourcery-ai` anywhere in the pull request title to generate a title at any time. - **Generate a pull request summary:** Write `@sourcery-ai summary` anywhere in the pull request body to generate a PR summary at any time. You can also use this command to specify where the summary should be inserted. #### Customizing Your Experience Access your [dashboard](https://app.sourcery.ai) to: - Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others. - Change the review language. - Add, remove or edit custom review instructions. - Adjust other review settings. #### Getting Help - [Contact our support team](mailto:support@sourcery.ai) for questions or feedback. - Visit our [documentation](https://docs.sourcery.ai) for detailed guides and information. - Keep in touch with the Sourcery team by following us on [X/Twitter](https://x.com/SourceryAI), [LinkedIn](https://www.linkedin.com/company/sourcery-ai/) or [GitHub](https://github.com/sourcery-ai).