Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

226 feature add simple first examplypy #230

Merged
merged 197 commits into from
Aug 22, 2024

Conversation

PhiSpel
Copy link
Contributor

@PhiSpel PhiSpel commented Aug 22, 2024

Description

closes #226

Checklist

  • This pull request is associated to an issue
  • This PR contains a description
  • Did you add a new method? If so, you need to
  • Add someone else as reviewer and wait for approval before merging.

PhiSpel and others added 20 commits August 14, 2024 17:39
When forcing pep8 style guide, what do you think about structuring click.option commands as follows?
This is just a suggestion and open for discussion.
To ensure that the desired Mach number accurately reflects the characteristic velocity in per-unit (pu) terms, it is essential to set the characteristic velocity value in pu after initializing the velocity field. This change ensures consistency between the velocity field initialization and the resulting Mach number.
This update connects the moving boundary at the top directly to the characteristic velocity that was already established during initialization. This ensures that the boundary behavior is consistent with the predefined velocity characteristics.
consider pep8 style guide
structure click.option commands
…ative-architecture

update examples to cuda native architecture
runs-on: self-hosted (workstation-mcbs)
* Update CI.yml

* Update CI.yml

* Update CI.yml
…-release' into 226-feature-add-simple-first_examplypy
@PhiSpel PhiSpel self-assigned this Aug 22, 2024
@PhiSpel PhiSpel requested a review from McBs August 22, 2024 07:19
@pep8speaks
Copy link

pep8speaks commented Aug 22, 2024

Hello @PhiSpel! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

There are currently no PEP 8 issues detected in this Pull Request. Cheers! 🍻

Comment last updated at 2024-08-22 12:06:34 UTC

@PhiSpel
Copy link
Contributor Author

PhiSpel commented Aug 22, 2024

@McBs if this looks good to you, we just need to replace the commit-hash in the permalink with master so that it will always get the code from 00_simplest_TGV.py

Copy link
Contributor

@McBs McBs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@McBs McBs merged commit 4e4f3bd into 195-draft-a-new-release Aug 22, 2024
6 checks passed
@McBs McBs deleted the 226-feature-add-simple-first_examplypy branch August 22, 2024 12:13
McBs added a commit that referenced this pull request Aug 22, 2024
* Update requirements.txt

* Create native_cuda_synopsis.md

* Update native_cuda_synopsis.md

* Update native_cuda_synopsis.md

* Merge from master (#232)

* issue56-wip-create-code-skeleton

* issue56-wip-implement-hard-coded-cuda-extension

* issue56-wip-change-cuda-stream-behavior-to-match-torch-roll

* issue56-wip-move-collision-operator-to-cuda

* issue56-wip-added-cuda-check

* issue56-wip-fixed-unsynced-cuda-calls

* issue56-wip-fixed-cleaned-up-operator

* issue56-wip-fixed-streaming-bug-and-added-collision-only

* issue56-wip-modulization

* issue56-wip-replace-hard-coded-cuda-with-code-generator

* issue56-replace-hard-coded-cuda-with-code-generator

* issue56-added-missing-buffer-swap

* issue56-fix-gencuda-typo

* issue56-fix-gencuda

* issue56-fix-gencuda

* issue56-lgtm-fix

* issue56-codeclimate-fix

* issue56-smal-fix

* issue56-fixed-some-stuff

* issue56-fixed-first-time-setup-bug

* issue56-wip

* issue-56-change-import-strategy-and-utilize-relative-imports

* issue-56-make-module-names-singular-as-it-is-a-general-programming-convention

* issue-56-rename-gen_native-to-native_generator

* issue-56-lattice-add-field-type-hints-and-make-properties-snake-case-as-required-by-pep8

* issue-56-lattice-add-use_native-field

* issue-56-generator-rework-one

* issue-56-generator-fix-generation

* issue-56-merge-algorithm-groups-into-one-file

* issue-56-generator-rename-signature-to-name

* issue-56-generator-add-generate-prefix-to-generating-methods

* issue-56-load-template-strings-from-file

* issue-56-generator-rename-append-buffer-methods

* issue-56-add-native-lattice-base-and-move-no_collision_mask

* issue-56-fixed-imports

* issue-56-fixed-simulation-native

* issue-56-fixed-setup

* rework-core-generator

* soft-fix-core-generator

* fix-core-generator

* fix-tests

* fix-naming

* tidy

* tidy

* tidy

* rebase

* fixed_use_native_location_but_some_test_are_failing

* added_changes_by_ollom

* fixed  typo error. convergence now runs again with native

* added version compare and reworked streaming

* many fixes but still broken

* move head to another pc

* local_stash

* final fixes

* fixed tests and modified benchmark tool

* fixed tests

* patch_tests

* reduce cognitive complexity

* final cosmetics

* fixed hash bug for detecting already installed natives and tidied up

* get rid of the template directory. instead use a virtual file system (a map) to represent the template as the directory caused some errors on the cluster.

* step one of the pipeline interface. Now it is possible to switch between stream and collide / collide and stream easily. Further improvements will follow soon.

* update dependencies

* split streaming to read and write for pipeline interface

* add multi pipeline support

* fixed naming issue

* add PipelineStep

* prepared pipeline

* basic pipeline, not integrated well yet

* coding session with mario. some tests and some rapid fixes.

* dirty wip

* add working pipeline + boundaries sample (cli) (dirty)

* fixed resource bug

* 'v2'

* wip update

* Changes by user

* update test_native_equilibrium_pu.py

* Working test_native_equilibrium_outlet_p.py --use-no-native

* update boundary tests and mount utility functions to lettuce

* wip

* format

* fixed_error_in_native_test

* tidy_tests

* Refactor/rename directory, classes and update test_equilibrium_outlet_p_algorith

* Add "stencil" parameter to TGV flow class within make_resolution function

* update observable_reporter.py and incompressible energy calculation

* update observable_reporter.py

* update vtk_reporter.py

* started adapting A_first_example.ipynb

* fixed A_first_example.ipynb

* get context for Observable from flow, not explicitly

* WIP tried fixing decaing turbulence

* fixed DecayingTurbulence.ipynb

* fixed DecayingTurbulence.ipynb

* fixed DecayingTurbulence.ipynb

* created u_pu, p_pu, and rho_pu properties for Flow

* created u_pu, p_pu, and rho_pu properties for Flow

* fixed obstacle.ipynb

* fixed obstacle.ipynb

* Update CI.yml

* Update CI.yml

* reverted changes in equilibrium_boundary_pu.py

* fixed Simulation_and_outputs.py

* fixed convert_to_tensor and indexing (only wavenumbers in decaying turbulence) error
changed to default float64

* less console output in example

* fixed default in Simulation

* tried fixing porous_medium.ipynb - will wait for new boundary-development

* tidy up and rename native to cuda_native

* minor import change

* Update CI.yml

* updated kbc collision to not use lattice

* updated anti bounce back outlet to not use lattice

* updated regularized_collision.py to not use lattice

* wip:
updated anti_bounce_back_outlet.py
moved boundaries back to lt.Flow
added more examples

* minor change - reverting underscore for stencil, collision, etc., in comments

* fixed 01b_first_example_obstacle.py

* wip: updated obstacle and tgv flows and examples. still issues with eq_bc and outlet!

* Update CI.yml

run CI after weekend

* Create ISSUE_TEMPLATE

* Patch requirements matplotlib (#204)

* Update requirements.txt

Patch: Fix CI Error with Matplotlib 3.9.1 in Requirements. Change it to 3.9

* Update setup.py

Update matplotlib version in setup.py
- Set matplotlib version to 3.9.0 instead of 3.9.1 due to CI issues

* wip:
updated anti_bounce_back_outlet.py
moved boundaries back to lt.Flow
added more examples
updated tests to moved boundaries

* Simulation_and_outputs.py to compare to original

* wip - fixing taylorgreen.py and tests

* wip - fixing taylorgreen.py and tests

* added collision to boundary to allow AntiBounceBackOutlet to stabilize

* Rename ISSUE_TEMPLATE to ISSUE_TEMPLATE.md

* Create Bug Report.yml

* Create Feature Request.yml

* Delete .github/ISSUE_TEMPLATE.md

* Rename Bug Report.yml to BUG_REPORT.yml

* Update and rename Feature Request.yml to FEATURE_REQUEST.yml

* Update FEATURE_REQUEST.yml

* Update BUG_REPORT.yml

* Update FEATURE_REQUEST.yml

* Update BUG_REPORT.yml

* pass flow instead of f to force

* update flows

* combined kbc collision classes and reduced input parameters

* updated .gitignore for manually generated native code

* fixed test_equilibrium_outlet_p_algorithm

* wip - fixing test_equilibrium_boundary_pu_algorithm

* fixed test_equilibrium_boundary_pu_algorithm

* fixed test_native_bgk_collision

* convergence should be fixed

* fixed PEP 8 comments and reran Couette.ipynb

* removed deprecated init_f_neq option for convergence

* wip - fixing convergence test

* use_cuda_native will only be requested if ctx.device.type is not cpu

* fixed convergence test!

* show mlups in convergence test

* reran LidDrivenCavity.ipynb and DecayingTurbulence.ipynb

* reverted README.rst

* updated remaining jupyter notebooks

* made TorchStencil private

* made TorchStencil public again

* made TorchStencil public again

* structure click.option commands

When forcing pep8 style guide, what do you think about structuring click.option commands as follows?
This is just a suggestion and open for discussion.

* Remove whitespaces

* Update decayingturbulence.py

To ensure that the desired Mach number accurately reflects the characteristic velocity in per-unit (pu) terms, it is essential to set the characteristic velocity value in pu after initializing the velocity field. This change ensures consistency between the velocity field initialization and the resulting Mach number.

* Update liddrivencavity.py

This update connects the moving boundary at the top directly to the characteristic velocity that was already established during initialization. This ensures that the boundary behavior is consistent with the predefined velocity characteristics.

* Update liddrivencavity.py

consider pep8 style guide

* Update observable_reporter.py

syntax

* added warning if analytic solution of TGV is called in 3d after t=0

* Update CI.yml (#228)

runs-on: self-hosted (workstation-mcbs)

* Update CI.yml (#229)

* Update CI.yml

* Update CI.yml

* Update CI.yml

---------

Co-authored-by: Robert Andreas Fritsch <[email protected]>
Co-authored-by: Robert Andreas Fritsch <[email protected]>
Co-authored-by: PhiSpel <[email protected]>
Co-authored-by: PhiSpel <[email protected]>

* 226 feature add simple first examplypy (#230)

* issue56-wip-create-code-skeleton

* issue56-wip-implement-hard-coded-cuda-extension

* issue56-wip-change-cuda-stream-behavior-to-match-torch-roll

* issue56-wip-move-collision-operator-to-cuda

* issue56-wip-added-cuda-check

* issue56-wip-fixed-unsynced-cuda-calls

* issue56-wip-fixed-cleaned-up-operator

* issue56-wip-fixed-streaming-bug-and-added-collision-only

* issue56-wip-modulization

* issue56-wip-replace-hard-coded-cuda-with-code-generator

* issue56-replace-hard-coded-cuda-with-code-generator

* issue56-added-missing-buffer-swap

* issue56-fix-gencuda-typo

* issue56-fix-gencuda

* issue56-fix-gencuda

* issue56-lgtm-fix

* issue56-codeclimate-fix

* issue56-smal-fix

* issue56-fixed-some-stuff

* issue56-fixed-first-time-setup-bug

* issue56-wip

* issue-56-change-import-strategy-and-utilize-relative-imports

* issue-56-make-module-names-singular-as-it-is-a-general-programming-convention

* issue-56-rename-gen_native-to-native_generator

* issue-56-lattice-add-field-type-hints-and-make-properties-snake-case-as-required-by-pep8

* issue-56-lattice-add-use_native-field

* issue-56-generator-rework-one

* issue-56-generator-fix-generation

* issue-56-merge-algorithm-groups-into-one-file

* issue-56-generator-rename-signature-to-name

* issue-56-generator-add-generate-prefix-to-generating-methods

* issue-56-load-template-strings-from-file

* issue-56-generator-rename-append-buffer-methods

* issue-56-add-native-lattice-base-and-move-no_collision_mask

* issue-56-fixed-imports

* issue-56-fixed-simulation-native

* issue-56-fixed-setup

* rework-core-generator

* soft-fix-core-generator

* fix-core-generator

* fix-tests

* fix-naming

* tidy

* tidy

* tidy

* rebase

* fixed_use_native_location_but_some_test_are_failing

* added_changes_by_ollom

* fixed  typo error. convergence now runs again with native

* added version compare and reworked streaming

* many fixes but still broken

* move head to another pc

* local_stash

* final fixes

* fixed tests and modified benchmark tool

* fixed tests

* patch_tests

* reduce cognitive complexity

* final cosmetics

* fixed hash bug for detecting already installed natives and tidied up

* get rid of the template directory. instead use a virtual file system (a map) to represent the template as the directory caused some errors on the cluster.

* step one of the pipeline interface. Now it is possible to switch between stream and collide / collide and stream easily. Further improvements will follow soon.

* update dependencies

* split streaming to read and write for pipeline interface

* add multi pipeline support

* fixed naming issue

* add PipelineStep

* prepared pipeline

* basic pipeline, not integrated well yet

* coding session with mario. some tests and some rapid fixes.

* dirty wip

* add working pipeline + boundaries sample (cli) (dirty)

* fixed resource bug

* 'v2'

* wip update

* Changes by user

* update test_native_equilibrium_pu.py

* Working test_native_equilibrium_outlet_p.py --use-no-native

* update boundary tests and mount utility functions to lettuce

* wip

* format

* fixed_error_in_native_test

* tidy_tests

* Refactor/rename directory, classes and update test_equilibrium_outlet_p_algorith

* Add "stencil" parameter to TGV flow class within make_resolution function

* update observable_reporter.py and incompressible energy calculation

* update observable_reporter.py

* update vtk_reporter.py

* Update README.rst

* Update setup.py

pep8 line too long

* started adapting A_first_example.ipynb

* fixed A_first_example.ipynb

* get context for Observable from flow, not explicitly

* WIP tried fixing decaing turbulence

* fixed DecayingTurbulence.ipynb

* fixed DecayingTurbulence.ipynb

* fixed DecayingTurbulence.ipynb

* created u_pu, p_pu, and rho_pu properties for Flow

* created u_pu, p_pu, and rho_pu properties for Flow

* fixed obstacle.ipynb

* fixed obstacle.ipynb

* Update CI.yml

* Update CI.yml

* reverted changes in equilibrium_boundary_pu.py

* fixed Simulation_and_outputs.py

* fixed convert_to_tensor and indexing (only wavenumbers in decaying turbulence) error
changed to default float64

* less console output in example

* fixed default in Simulation

* tried fixing porous_medium.ipynb - will wait for new boundary-development

* tidy up and rename native to cuda_native

* minor import change

* Update CI.yml

* update README.rst

* updated kbc collision to not use lattice

* updated anti bounce back outlet to not use lattice

* updated regularized_collision.py to not use lattice

* wip:
updated anti_bounce_back_outlet.py
moved boundaries back to lt.Flow
added more examples

* minor change - reverting underscore for stencil, collision, etc., in comments

* fixed 01b_first_example_obstacle.py

* wip: updated obstacle and tgv flows and examples. still issues with eq_bc and outlet!

* Update CI.yml

run CI after weekend

* Create ISSUE_TEMPLATE

* Patch requirements matplotlib (#204)

* Update requirements.txt

Patch: Fix CI Error with Matplotlib 3.9.1 in Requirements. Change it to 3.9

* Update setup.py

Update matplotlib version in setup.py
- Set matplotlib version to 3.9.0 instead of 3.9.1 due to CI issues

* wip:
updated anti_bounce_back_outlet.py
moved boundaries back to lt.Flow
added more examples
updated tests to moved boundaries

* Simulation_and_outputs.py to compare to original

* wip - fixing taylorgreen.py and tests

* wip - fixing taylorgreen.py and tests

* added collision to boundary to allow AntiBounceBackOutlet to stabilize

* Rename ISSUE_TEMPLATE to ISSUE_TEMPLATE.md

* Create Bug Report.yml

* Create Feature Request.yml

* Delete .github/ISSUE_TEMPLATE.md

* Rename Bug Report.yml to BUG_REPORT.yml

* Update and rename Feature Request.yml to FEATURE_REQUEST.yml

* Update FEATURE_REQUEST.yml

* Update BUG_REPORT.yml

* Update FEATURE_REQUEST.yml

* Update BUG_REPORT.yml

* pass flow instead of f to force

* update flows

* combined kbc collision classes and reduced input parameters

* updated .gitignore for manually generated native code

* fixed test_equilibrium_outlet_p_algorithm

* wip - fixing test_equilibrium_boundary_pu_algorithm

* fixed test_equilibrium_boundary_pu_algorithm

* fixed test_native_bgk_collision

* convergence should be fixed

* fixed PEP 8 comments and reran Couette.ipynb

* removed deprecated init_f_neq option for convergence

* wip - fixing convergence test

* use_cuda_native will only be requested if ctx.device.type is not cpu

* fixed convergence test!

* show mlups in convergence test

* reran LidDrivenCavity.ipynb and DecayingTurbulence.ipynb

* reverted README.rst

* updated remaining jupyter notebooks

* Update setup.py

* made TorchStencil private

* made TorchStencil public again

* made TorchStencil public again

* structure click.option commands

When forcing pep8 style guide, what do you think about structuring click.option commands as follows?
This is just a suggestion and open for discussion.

* Remove whitespaces

* Update decayingturbulence.py

To ensure that the desired Mach number accurately reflects the characteristic velocity in per-unit (pu) terms, it is essential to set the characteristic velocity value in pu after initializing the velocity field. This change ensures consistency between the velocity field initialization and the resulting Mach number.

* Update liddrivencavity.py

This update connects the moving boundary at the top directly to the characteristic velocity that was already established during initialization. This ensures that the boundary behavior is consistent with the predefined velocity characteristics.

* Update liddrivencavity.py

consider pep8 style guide

* Update observable_reporter.py

syntax

* added warning if analytic solution of TGV is called in 3d after t=0

* Update README.rst

* Update CI.yml (#228)

runs-on: self-hosted (workstation-mcbs)

* Update CI.yml (#229)

* Update CI.yml

* Update CI.yml

* Update CI.yml

* added simplest TGV example

* added link in README.rst

* pep8 cosmetics

---------

Co-authored-by: Robert Andreas Fritsch <[email protected]>
Co-authored-by: Robert Andreas Fritsch <[email protected]>
Co-authored-by: McBs <[email protected]>
Co-authored-by: Mario Bedrunka <[email protected]>

* Update README.rst (#157)

* Update README.rst

* Update setup.py

pep8 line too long

* update README.rst

* Update CI.yml

run CI after weekend

* Create ISSUE_TEMPLATE

* Patch requirements matplotlib (#204)

* Update requirements.txt

Patch: Fix CI Error with Matplotlib 3.9.1 in Requirements. Change it to 3.9

* Update setup.py

Update matplotlib version in setup.py
- Set matplotlib version to 3.9.0 instead of 3.9.1 due to CI issues

* Rename ISSUE_TEMPLATE to ISSUE_TEMPLATE.md

* Create Bug Report.yml

* Create Feature Request.yml

* Delete .github/ISSUE_TEMPLATE.md

* Rename Bug Report.yml to BUG_REPORT.yml

* Update and rename Feature Request.yml to FEATURE_REQUEST.yml

* Update FEATURE_REQUEST.yml

* Update BUG_REPORT.yml

* Update FEATURE_REQUEST.yml

* Update BUG_REPORT.yml

* Update setup.py

* Update README.rst

* Update requirements.txt

change torch to pytorch

* Update README.rst

---------

Co-authored-by: Mario Bedrunka <[email protected]>

---------

Co-authored-by: Mario Bedrunka <[email protected]>
Co-authored-by: Robert Andreas Fritsch <[email protected]>
Co-authored-by: Robert Andreas Fritsch <[email protected]>
Co-authored-by: McBs <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants