-
Notifications
You must be signed in to change notification settings - Fork 14
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
Add Burger's Equation Decapode #145
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Codecov ReportPatch and project coverage have no change.
Additional details and impacted files@@ Coverage Diff @@
## main #145 +/- ##
=======================================
Coverage 88.70% 88.70%
=======================================
Files 9 9
Lines 1036 1036
=======================================
Hits 919 919
Misses 117 117 ☔ View full report in Codecov by Sentry. |
jpfairbanks
approved these changes
Sep 1, 2023
GeorgeR227
added a commit
that referenced
this pull request
Nov 9, 2023
commit c204376 Author: Luke Morris <[email protected]> Date: Sun Oct 8 13:10:13 2023 -0400 Fix diff_adv link and some poiseuille params (#150) * Fix diff_adv link and some poiseuille params commit 53b23a5 Merge: abb94f8 fc8c8f8 Author: Luke Morris <[email protected]> Date: Sat Oct 7 21:33:11 2023 -0400 Merge pull request #142 from AlgebraicJulia/llm/ascii commit fc8c8f8 Author: Luke Morris <[email protected]> Date: Tue Sep 5 16:19:01 2023 -0400 Add advection Vec equivalent commit abb94f8 Merge: 670a74e cbb91dc Author: Luke Morris <[email protected]> Date: Fri Sep 1 19:43:07 2023 -0400 Merge pull request #145 from AlgebraicJulia/llm/burger Add Burger's Equation Decapode commit cbb91dc Author: Luke Morris <[email protected]> Date: Fri Sep 1 17:03:06 2023 -0400 Add Burger's Equation Decapode commit c235acb Author: Luke Morris <[email protected]> Date: Fri Sep 1 10:10:54 2023 -0400 Fix comment in vec_to_dec commit c972e5a Author: Luke Morris <[email protected]> Date: Thu Aug 31 09:11:54 2023 -0400 Escape backslash in ascii doc commit be6a614 Author: Luke Morris <[email protected]> Date: Mon Aug 28 15:49:43 2023 -0400 Replace vector calculus operators with DEC equivalents commit b437458 Author: Luke Morris <[email protected]> Date: Mon Aug 28 12:55:38 2023 -0400 Loop through incident in unicode\! commit 7dadf60 Author: Luke Morris <[email protected]> Date: Fri Aug 25 16:59:51 2023 -0400 Add ASCII support for Unicode ops Add doc for ASCII equivalents
lukem12345
added a commit
that referenced
this pull request
Feb 2, 2024
* General wedge improvements Added Wedge between primal 1s. Also optimized computations for wedge products using for loops. * Further improvements to wedge Added specialized 0-1 primal wedge and optimized preallocations for 1-1 primal wedge. * Moved DEC into operators.jl * Added support for Lie Derivative and Inner Product * Fixed type_inference It should now work with the new Lie Derivative and Interior Product. * Changed inv_hodge Instead of computing a large matrix inverse, inv_hodge_star for dual1 is now computed by backslash operator. * Fixed wedge product Wedge now returns Vector and not Offset array, which impacted matrix multiplication performance. * Added substitutions for 2D Lie and InterProd These substitutions should ultimately remove the need for dedicated functions to compute those operators. Also added experimental functions to have decapodes generate d0 and d1. * Improved d2 operator Also added SparseArrays as dependency * Added 1D Lie and Interior Sub Rules Got rid of the generate function equivalents. * Added improved lapace deRham New implementation uses the decapodes version of the exterior derivative. * Further improved wedge Also added a hodge_diag implementation. * Greatly improved the performance of hodge_diag1 Woe to anyone who debugs this. * Attempt to use indexing trick Even though this seems to be slower, we can much more easily tell which vertices are edge centers. * Fixed typing of hodge_diag 1 These new type annotation fix the return of ANY type before, and the new. Blessed be those who debug this. * Added support for new hodges We are still missing the Geometric Hodge 1 for 2D and the Diagonal Hodge 0 for 2D could use some more work. * Added boundary and some GeoInvHdg1 The boundary implemented here is just the adjoint of the exterior derivative. * Added support for in-place wedge This could be further extended to work with other in-place binary operations. * Improved Hodge_Diag 0 * Added views and more typing Using views seems to improve performance in most cases, but not quite all. For example, views on the points/dual_points in Geo Hdg 1. Also got rid of older prototypes of hodge_diag 1. * Further improvements to wedge Sped up wedge02 and wedge11 preallocations and calculations greatly. Made some modifications to derivbound to remove the recompute check. * Squashed commit of the following: commit c204376 Author: Luke Morris <[email protected]> Date: Sun Oct 8 13:10:13 2023 -0400 Fix diff_adv link and some poiseuille params (#150) * Fix diff_adv link and some poiseuille params commit 53b23a5 Merge: abb94f8 fc8c8f8 Author: Luke Morris <[email protected]> Date: Sat Oct 7 21:33:11 2023 -0400 Merge pull request #142 from AlgebraicJulia/llm/ascii commit fc8c8f8 Author: Luke Morris <[email protected]> Date: Tue Sep 5 16:19:01 2023 -0400 Add advection Vec equivalent commit abb94f8 Merge: 670a74e cbb91dc Author: Luke Morris <[email protected]> Date: Fri Sep 1 19:43:07 2023 -0400 Merge pull request #145 from AlgebraicJulia/llm/burger Add Burger's Equation Decapode commit cbb91dc Author: Luke Morris <[email protected]> Date: Fri Sep 1 17:03:06 2023 -0400 Add Burger's Equation Decapode commit c235acb Author: Luke Morris <[email protected]> Date: Fri Sep 1 10:10:54 2023 -0400 Fix comment in vec_to_dec commit c972e5a Author: Luke Morris <[email protected]> Date: Thu Aug 31 09:11:54 2023 -0400 Escape backslash in ascii doc commit be6a614 Author: Luke Morris <[email protected]> Date: Mon Aug 28 15:49:43 2023 -0400 Replace vector calculus operators with DEC equivalents commit b437458 Author: Luke Morris <[email protected]> Date: Mon Aug 28 12:55:38 2023 -0400 Loop through incident in unicode\! commit 7dadf60 Author: Luke Morris <[email protected]> Date: Fri Aug 25 16:59:51 2023 -0400 Add ASCII support for Unicode ops Add doc for ASCII equivalents * Added contract operators support * Merge branch 'main' into gr/wedge_improve * Fixed errors caused by rebasing * Got rid of 1D/2D dec_generate * Added contract operator support Also added ability to set DataType of DEC operators and added special support for inverse hodge 1 * Fixed issues with Contract Operators The addition to contract operators to only limit contractions to a set of operators, namely DEC matrices, was modified here to fix issues. * Added float types for Wedge Also changed operator indices to use Int32s instead of Int64. This should be changed later to allow user to set their types, with Int32 being default. * Added tests for 1D ops and more open_operators Also tuned Geometric Hodge 1 since I haven't found a good way to set a type for the points arrays. Setting the type to a Vector of Point3 of Float64 brings down generation time to third of the version before this. * Added some tests for gensim * Added tests for operator contraction in Gensim Also added tests for more operators and fixed inverse Geometric Hodge to be negated. Commented out wedge functions that were never being called. * Fixed Geometric Hodge 1 tests * Changed gitignore to match main * Added more tests These tests cover that the operators used by Gensim are all working properly and are well implemented. This also fixed an oversight were Geometric Inverse Hodge 1 was missing a -1. * Tests covering some more functionality * Loosened tolerances on operator tests I suspect I've set them to be too strict so some variances in how the floating point calculations are done may be enough to tip it to fail. * Removed show in operator tests * Restored V_1 in operator tests * Added the Benchmark file Fixed an error occuring in the docs where the Poiseuille model was not resolving the Laplace de Rham operator due to it not being supported in the 1D case. This worked on main however due to the 2D resolving rules being the default and also covering this case. Also added some changes to the Geo Hodge 1. * Added Sparse/Static Arrays to compat Also changed Benchmark to use Ico5 * Fixed CairoMake to 0.10 for Docs Documentation seemed to make correctly at this version. They should however be updated to use the latest version. * Squashed commit of the following: commit 83efc30 Author: Luke Morris <[email protected]> Date: Fri Jan 19 23:31:09 2024 -0500 Update grigoriev.md commit 53aa53d Author: Luke Morris <[email protected]> Date: Fri Jan 19 22:45:29 2024 -0500 Update grigoriev.md commit ef030ff Author: Luke Morris <[email protected]> Date: Fri Jan 19 16:06:55 2024 -0500 Clean readme commit cfe25fb Author: Luke Morris <[email protected]> Date: Fri Jan 19 14:59:05 2024 -0500 Delete examples/poiseuille directory commit 62806ad Author: Luke Morris <[email protected]> Date: Fri Jan 19 14:56:46 2024 -0500 The Klausmeier Model (#152) * Initial Klausmeier example * Remove "" from markdown links * Add newlines between reference bullets * Use raw html for figure * Call hide directive on Decapode table * Use 600 simulation time * using ComponentArrays with DiagEq * Use property accessor commit 8e9a050 Author: Luke Morris <[email protected]> Date: Fri Jan 19 14:11:24 2024 -0500 Remove "stable" docs temporarily commit 4cafa46 Merge: 3395d01 f83b374 Author: quffaro <[email protected]> Date: Fri Jan 12 12:47:25 2024 -0500 Merge pull request #183 from AlgebraicJulia/migrate-diagrammatic-equations Migrate diagrammatic equations commit f83b374 Author: Matt <[email protected]> Date: Fri Jan 12 11:02:07 2024 -0500 migrated test/composition.jl to DE#main commit 7e4552e Author: Matt Cuffaro <[email protected]> Date: Thu Jan 11 14:28:37 2024 -0500 docs build v2 commit 7163881 Author: Matt Cuffaro <[email protected]> Date: Thu Jan 11 13:50:01 2024 -0500 docs build commit 6dda9b1 Author: Matt <[email protected]> Date: Tue Jan 9 13:56:38 2024 -0500 addressed comments commit 22de7db Author: Matt <[email protected]> Date: Tue Jan 9 08:19:41 2024 -0500 now reliant on [email protected] commit 4db11fa Author: Matt <[email protected]> Date: Fri Jan 5 15:15:50 2024 -0500 tests passing on dev copy of DiaEq commit 41d8b9b Merge: 57cf75e 3395d01 Author: Matt <[email protected]> Date: Fri Jan 5 14:41:28 2024 -0500 resolved merge conflicts commit 57cf75e Author: Matt <[email protected]> Date: Tue Dec 19 16:41:24 2023 -0500 tests pass with dev'd de.jl commit c9f3a2c Author: Matt Cuffaro <[email protected]> Date: Tue Dec 19 13:56:51 2023 -0500 working through tests commit 46c615a Author: Matt <[email protected]> Date: Tue Dec 19 11:13:41 2023 -0500 deleted files commit fc35a87 Author: Matt Cuffaro <[email protected]> Date: Mon Nov 20 14:42:01 2023 -0500 first pass at decapodes dependencing on DEq commit a25f9c6 Author: Luke Morris <[email protected]> Date: Fri Oct 20 10:26:18 2023 -0400 Internalize collate and compile Collage commit fa8130d Author: Luke Morris <[email protected]> Date: Thu Oct 12 15:30:53 2023 -0400 Test naming convention commit 3fe8ca4 Author: Luke Morris <[email protected]> Date: Thu Oct 12 15:24:52 2023 -0400 Update tangent pointers in collage commit 7ef1c77 Author: Luke Morris <[email protected]> Date: Thu Oct 12 14:54:34 2023 -0400 Demonstrate collage boundaries in a simulation commit decf186 Author: Luke Morris <[email protected]> Date: Thu Oct 12 13:33:00 2023 -0400 Use Op2 to encode boundaries commit afe414d Author: Luke Morris <[email protected]> Date: Mon Oct 9 12:10:20 2023 -0400 Add restriction morphisms as Op1s * Removed code shifted to other packages * Delete meshes.jl include, add operators include * Fix compat between Decapodes and CombiSpaces with @GeorgeR227 * Undo stub code deletion --------- Co-authored-by: Luke Morris <[email protected]>
lukem12345
added a commit
that referenced
this pull request
Feb 3, 2024
Some old commit messages: * started new branch for resource sharing * continuing work on this feature * working on resource loading code * adding buildkite to decapodes * removed file not part of this feature * testing buildkite with echo hello * fixed jobscript.sh * changed jobscript for multithreading * changed jobscript for multithreading, 64 cores * 32 cores instead * pmapping files in docs/make.jl * 32 cores * Initial upload of CISM notebook. Need to convert to .md format and verify results consistent with cise.ufl.edu/~luke.morris/cism.html * Gr/wedge improve (#180) * General wedge improvements Added Wedge between primal 1s. Also optimized computations for wedge products using for loops. * Further improvements to wedge Added specialized 0-1 primal wedge and optimized preallocations for 1-1 primal wedge. * Moved DEC into operators.jl * Added support for Lie Derivative and Inner Product * Fixed type_inference It should now work with the new Lie Derivative and Interior Product. * Changed inv_hodge Instead of computing a large matrix inverse, inv_hodge_star for dual1 is now computed by backslash operator. * Fixed wedge product Wedge now returns Vector and not Offset array, which impacted matrix multiplication performance. * Added substitutions for 2D Lie and InterProd These substitutions should ultimately remove the need for dedicated functions to compute those operators. Also added experimental functions to have decapodes generate d0 and d1. * Improved d2 operator Also added SparseArrays as dependency * Added 1D Lie and Interior Sub Rules Got rid of the generate function equivalents. * Added improved lapace deRham New implementation uses the decapodes version of the exterior derivative. * Further improved wedge Also added a hodge_diag implementation. * Greatly improved the performance of hodge_diag1 Woe to anyone who debugs this. * Attempt to use indexing trick Even though this seems to be slower, we can much more easily tell which vertices are edge centers. * Fixed typing of hodge_diag 1 These new type annotation fix the return of ANY type before, and the new. Blessed be those who debug this. * Added support for new hodges We are still missing the Geometric Hodge 1 for 2D and the Diagonal Hodge 0 for 2D could use some more work. * Added boundary and some GeoInvHdg1 The boundary implemented here is just the adjoint of the exterior derivative. * Added support for in-place wedge This could be further extended to work with other in-place binary operations. * Improved Hodge_Diag 0 * Added views and more typing Using views seems to improve performance in most cases, but not quite all. For example, views on the points/dual_points in Geo Hdg 1. Also got rid of older prototypes of hodge_diag 1. * Further improvements to wedge Sped up wedge02 and wedge11 preallocations and calculations greatly. Made some modifications to derivbound to remove the recompute check. * Squashed commit of the following: commit c204376 Author: Luke Morris <[email protected]> Date: Sun Oct 8 13:10:13 2023 -0400 Fix diff_adv link and some poiseuille params (#150) * Fix diff_adv link and some poiseuille params commit 53b23a5 Merge: abb94f8 fc8c8f8 Author: Luke Morris <[email protected]> Date: Sat Oct 7 21:33:11 2023 -0400 Merge pull request #142 from AlgebraicJulia/llm/ascii commit fc8c8f8 Author: Luke Morris <[email protected]> Date: Tue Sep 5 16:19:01 2023 -0400 Add advection Vec equivalent commit abb94f8 Merge: 670a74e cbb91dc Author: Luke Morris <[email protected]> Date: Fri Sep 1 19:43:07 2023 -0400 Merge pull request #145 from AlgebraicJulia/llm/burger Add Burger's Equation Decapode commit cbb91dc Author: Luke Morris <[email protected]> Date: Fri Sep 1 17:03:06 2023 -0400 Add Burger's Equation Decapode commit c235acb Author: Luke Morris <[email protected]> Date: Fri Sep 1 10:10:54 2023 -0400 Fix comment in vec_to_dec commit c972e5a Author: Luke Morris <[email protected]> Date: Thu Aug 31 09:11:54 2023 -0400 Escape backslash in ascii doc commit be6a614 Author: Luke Morris <[email protected]> Date: Mon Aug 28 15:49:43 2023 -0400 Replace vector calculus operators with DEC equivalents commit b437458 Author: Luke Morris <[email protected]> Date: Mon Aug 28 12:55:38 2023 -0400 Loop through incident in unicode\! commit 7dadf60 Author: Luke Morris <[email protected]> Date: Fri Aug 25 16:59:51 2023 -0400 Add ASCII support for Unicode ops Add doc for ASCII equivalents * Added contract operators support * Merge branch 'main' into gr/wedge_improve * Fixed errors caused by rebasing * Got rid of 1D/2D dec_generate * Added contract operator support Also added ability to set DataType of DEC operators and added special support for inverse hodge 1 * Fixed issues with Contract Operators The addition to contract operators to only limit contractions to a set of operators, namely DEC matrices, was modified here to fix issues. * Added float types for Wedge Also changed operator indices to use Int32s instead of Int64. This should be changed later to allow user to set their types, with Int32 being default. * Added tests for 1D ops and more open_operators Also tuned Geometric Hodge 1 since I haven't found a good way to set a type for the points arrays. Setting the type to a Vector of Point3 of Float64 brings down generation time to third of the version before this. * Added some tests for gensim * Added tests for operator contraction in Gensim Also added tests for more operators and fixed inverse Geometric Hodge to be negated. Commented out wedge functions that were never being called. * Fixed Geometric Hodge 1 tests * Changed gitignore to match main * Added more tests These tests cover that the operators used by Gensim are all working properly and are well implemented. This also fixed an oversight were Geometric Inverse Hodge 1 was missing a -1. * Tests covering some more functionality * Loosened tolerances on operator tests I suspect I've set them to be too strict so some variances in how the floating point calculations are done may be enough to tip it to fail. * Removed show in operator tests * Restored V_1 in operator tests * Added the Benchmark file Fixed an error occuring in the docs where the Poiseuille model was not resolving the Laplace de Rham operator due to it not being supported in the 1D case. This worked on main however due to the 2D resolving rules being the default and also covering this case. Also added some changes to the Geo Hodge 1. * Added Sparse/Static Arrays to compat Also changed Benchmark to use Ico5 * Fixed CairoMake to 0.10 for Docs Documentation seemed to make correctly at this version. They should however be updated to use the latest version. * Squashed commit of the following: commit 83efc30 Author: Luke Morris <[email protected]> Date: Fri Jan 19 23:31:09 2024 -0500 Update grigoriev.md commit 53aa53d Author: Luke Morris <[email protected]> Date: Fri Jan 19 22:45:29 2024 -0500 Update grigoriev.md commit ef030ff Author: Luke Morris <[email protected]> Date: Fri Jan 19 16:06:55 2024 -0500 Clean readme commit cfe25fb Author: Luke Morris <[email protected]> Date: Fri Jan 19 14:59:05 2024 -0500 Delete examples/poiseuille directory commit 62806ad Author: Luke Morris <[email protected]> Date: Fri Jan 19 14:56:46 2024 -0500 The Klausmeier Model (#152) * Initial Klausmeier example * Remove "" from markdown links * Add newlines between reference bullets * Use raw html for figure * Call hide directive on Decapode table * Use 600 simulation time * using ComponentArrays with DiagEq * Use property accessor commit 8e9a050 Author: Luke Morris <[email protected]> Date: Fri Jan 19 14:11:24 2024 -0500 Remove "stable" docs temporarily commit 4cafa46 Merge: 3395d01 f83b374 Author: quffaro <[email protected]> Date: Fri Jan 12 12:47:25 2024 -0500 Merge pull request #183 from AlgebraicJulia/migrate-diagrammatic-equations Migrate diagrammatic equations commit f83b374 Author: Matt <[email protected]> Date: Fri Jan 12 11:02:07 2024 -0500 migrated test/composition.jl to DE#main commit 7e4552e Author: Matt Cuffaro <[email protected]> Date: Thu Jan 11 14:28:37 2024 -0500 docs build v2 commit 7163881 Author: Matt Cuffaro <[email protected]> Date: Thu Jan 11 13:50:01 2024 -0500 docs build commit 6dda9b1 Author: Matt <[email protected]> Date: Tue Jan 9 13:56:38 2024 -0500 addressed comments commit 22de7db Author: Matt <[email protected]> Date: Tue Jan 9 08:19:41 2024 -0500 now reliant on [email protected] commit 4db11fa Author: Matt <[email protected]> Date: Fri Jan 5 15:15:50 2024 -0500 tests passing on dev copy of DiaEq commit 41d8b9b Merge: 57cf75e 3395d01 Author: Matt <[email protected]> Date: Fri Jan 5 14:41:28 2024 -0500 resolved merge conflicts commit 57cf75e Author: Matt <[email protected]> Date: Tue Dec 19 16:41:24 2023 -0500 tests pass with dev'd de.jl commit c9f3a2c Author: Matt Cuffaro <[email protected]> Date: Tue Dec 19 13:56:51 2023 -0500 working through tests commit 46c615a Author: Matt <[email protected]> Date: Tue Dec 19 11:13:41 2023 -0500 deleted files commit fc35a87 Author: Matt Cuffaro <[email protected]> Date: Mon Nov 20 14:42:01 2023 -0500 first pass at decapodes dependencing on DEq commit a25f9c6 Author: Luke Morris <[email protected]> Date: Fri Oct 20 10:26:18 2023 -0400 Internalize collate and compile Collage commit fa8130d Author: Luke Morris <[email protected]> Date: Thu Oct 12 15:30:53 2023 -0400 Test naming convention commit 3fe8ca4 Author: Luke Morris <[email protected]> Date: Thu Oct 12 15:24:52 2023 -0400 Update tangent pointers in collage commit 7ef1c77 Author: Luke Morris <[email protected]> Date: Thu Oct 12 14:54:34 2023 -0400 Demonstrate collage boundaries in a simulation commit decf186 Author: Luke Morris <[email protected]> Date: Thu Oct 12 13:33:00 2023 -0400 Use Op2 to encode boundaries commit afe414d Author: Luke Morris <[email protected]> Date: Mon Oct 9 12:10:20 2023 -0400 Add restriction morphisms as Op1s * Removed code shifted to other packages * Delete meshes.jl include, add operators include * Fix compat between Decapodes and CombiSpaces with @GeorgeR227 * Undo stub code deletion --------- Co-authored-by: Luke Morris <[email protected]> * Set version to 0.5.1 * Some fixes for Decapodes Docs (#196) * Some fixes for Decapodes Docs Was still us SphericalMesh/Gridmeshes and packages were outdated. Add compats for various packages. * Moved Point3D to shallow_ice * finishing this feature * Rename ipynb to qmd * Use quarto convert, tweak links, and editorialize * Rename qmd md, add to make * Fix imports, define ^ * Remove docs/Manifest.toml from repo 7163881 * Initial upload of CISM notebook. Need to convert to .md format and verify results consistent with cise.ufl.edu/~luke.morris/cism.html * Rename ipynb to qmd * Use quarto convert, tweak links, and editorialize * Rename qmd md, add to make * Fix imports, define ^ * Up comp at on DiagEqs --------- Co-authored-by: AlgebraicJulia Bot <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #100
Parts of this example were pair-programmed with @GeorgeR227 .
This PR uploads an example implementation of Burger's Equation as a Decapode in the 1D DEC.
This implementation re-uses Advection, Diffusion, and Superposition component Decapodes from the Advection-Diffusion example in the documentation. These components are composed with a Decapode implementing the Lie derivative.
We demonstrate some dynamics given an initial normal distribution.
Lie Component Decapode
Composition Pattern and Composed Burger Decapode
Initial and Final Conditions
Animated Dynamics