-
Notifications
You must be signed in to change notification settings - Fork 8
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 interactive HQMTool and testing #15
Merged
Merged
Changes from 145 commits
Commits
Show all changes
165 commits
Select commit
Hold shift + click to select a range
77bd6ca
Add HQMtool folder
DavidAKopriva e3b5b5c
Integrate HQMTool into existing infrastructure (#11)
sloede 47d0152
Add source and docs
DavidAKopriva 16be727
add capability to set ABAQUS for the meshFileFormat
andrewwinters5000 8bbc47f
add ability to plot mesh from ISM format version
andrewwinters5000 164dda5
Merge branch 'main' into InteractiveTool
andrewwinters5000 0d25434
add capability to plot from the ABAQUS format as well
andrewwinters5000 3e0de6c
Add Curve tests
DavidAKopriva 8ae2f29
Add API tests
DavidAKopriva 4093443
Add Refinement Tests
DavidAKopriva 0296c84
More refinement tests
DavidAKopriva 8c50f6a
Update RefinementTests.jl
DavidAKopriva b83619d
BackgroundGridTests
DavidAKopriva fb169f5
Smoother tests
DavidAKopriva 1c98f77
Finish Run Parameters
DavidAKopriva 8f8c1d4
Update Spline tests
DavidAKopriva d849404
Create Model Tests
DavidAKopriva a7a8442
Update Tests.jl
DavidAKopriva fdc632b
Project Tests
DavidAKopriva 1ad7a7b
Update Tests.jl
DavidAKopriva 8b2cd90
fix image rendering in HQMTool docs
andrewwinters5000 b329830
update the docs for the new plotting capabilities
andrewwinters5000 1aff854
remove doc files in HQMTool folder from the repo
andrewwinters5000 c2e0382
remove duplicate HQMTool.jl from repo
andrewwinters5000 635b2ce
give capability to set ABAQUS format and remove duplicate RunParamete…
andrewwinters5000 86a836f
add capability to plot all three mesh file formats
andrewwinters5000 b989631
remove dulplicate Viz files from the HQMTool folder
andrewwinters5000 30c951b
debug plotting of all three mesh file formats
andrewwinters5000 3ba64ed
remove remaining duplicate source files and HQMTool folder. All files…
andrewwinters5000 8f83954
attempt to properly include HQMTool functionality such that simply us…
andrewwinters5000 b071946
for now make GLMakie a required dependency
andrewwinters5000 9eee284
perform tests on the background grid functions from HQMTool
andrewwinters5000 0d0739e
export all HQMTool functions, can cleanup later
andrewwinters5000 f8fdb2f
move all tests into exisitng test folder
andrewwinters5000 db980c7
typo fix in CheatSheet
andrewwinters5000 22db877
spacing adjustment and flag possible extra println
andrewwinters5000 0d1d4db
generalize file name creation. Tests should pass on Windows now
andrewwinters5000 01c65fd
rename testing files for consistency
andrewwinters5000 27d03c8
properly adjust the Makie reuqirements and exporting
andrewwinters5000 9ed90f8
add CairoMakie to the testing Project.toml
andrewwinters5000 dc110e9
change generic function from get => getCurve to avoid collision with …
andrewwinters5000 89dfb9c
Meshing.jl does not need to use HOHQMesh
andrewwinters5000 a254bfe
make the individual test files module and able to be included indepen…
andrewwinters5000 4f5a0a7
add testing for the visualization routines
andrewwinters5000 558d87d
rearrange Makie includes. shrink resolution
andrewwinters5000 b5c0c54
adjust function names in Meshing.jl, exporting is easier
andrewwinters5000 58e181f
make figure bigger
andrewwinters5000 7b586a9
demos now use generate_mesh
andrewwinters5000 8cd9046
update visualization tests to cover more code
andrewwinters5000 130a029
add keyword argument to demos such that testing can call them
andrewwinters5000 25c7c4d
add testing for the HQMTool demos
andrewwinters5000 add93ae
update docs to match changes to the HQMTool structure
andrewwinters5000 ab88d02
add a 3D smoke test for a simple extrusion
andrewwinters5000 0719c9c
remove TODO
andrewwinters5000 3fe0180
remove unnecessary test data files
andrewwinters5000 601eec0
add to tests that trigger some of the error statement printing
andrewwinters5000 f0833d7
add testing for spline read in from a file
andrewwinters5000 7775864
add attempt to generate mesh without background grid to trigger error…
andrewwinters5000 97732bb
add tests using the getCurve and getInnerBoundary functions
andrewwinters5000 f37439a
added a test for the generic spline creation
andrewwinters5000 0141839
add comment and blank line to control file
andrewwinters5000 6382105
export parametric equation evaluators
andrewwinters5000 629aa2d
move plotProject outside if statement. Should cover more routines
andrewwinters5000 bd8c989
exercise parametric eqn eval at a single point and the redoActionName
andrewwinters5000 36aea70
exercise more curve arc and spline routines
andrewwinters5000 657eff7
Fix two bugs
DavidAKopriva 60082fa
added NACA0012 read in and some tests
andrewwinters5000 09d6ad1
add tests that purposly has curves that do not join
andrewwinters5000 749bfd5
add generic remove of the outer boundary
andrewwinters5000 fefa9e3
Update ModelAPI.jl
DavidAKopriva 7d623af
fix bug in VizMesh and actually make the model test fail
andrewwinters5000 152d46f
fix bug in removeInnerBoundary. Add output if a requested curveName b…
andrewwinters5000 cacec95
bug fix in the chain index count of getInnerBoundaryChainWithName
andrewwinters5000 817e2ff
add calls to the generic remove for inner boundaries
andrewwinters5000 68376eb
query getCurve incorrectly to throw a warning
andrewwinters5000 7c85d92
trigger warning of mismatched chain and boundary names in removal
andrewwinters5000 dff4bc0
adjust logic in the removeInnerBoundaryCurve to be more robust and no…
andrewwinters5000 6698958
add tests for the error that is now thrown by remove for the inner bo…
andrewwinters5000 a4335b7
fix error message in the refinement regions API
andrewwinters5000 87d3ef5
fix error message bugs that used C style printing
andrewwinters5000 76e2f47
add additional tests to fire the progressive plotting of project
andrewwinters5000 d10da37
add explicit set radius in order to trigger curveDidChange in the new…
andrewwinters5000 87a86bb
add refinement region to trigger auto plotting when it is not in the …
andrewwinters5000 7ab1ba4
Add undo to removeInnerBoundary
DavidAKopriva e54bdeb
improve undo robustness and test it better
andrewwinters5000 6db101b
Add a true error when the control file SPLINE does not have the nKnot…
andrewwinters5000 c93c330
update action names for the outer boundary removal / insert
andrewwinters5000 738fcc5
bug fix in addOuterBoundary, now undo() works properly plus plots and…
andrewwinters5000 7b4536f
small typo change
andrewwinters5000 73cfc2c
move lines around in the printing
andrewwinters5000 2f460af
exercise empty undo/redo outputs
andrewwinters5000 3a6a4ed
remove extraneous logic in curve point(s) computation
andrewwinters5000 4fe6a5d
throw error is parametric equation does not have an equal sign
andrewwinters5000 72b3ef9
remove extraneous logic from refinementDidChange because the plot opt…
andrewwinters5000 b96977c
adjust visualization tests. Should cover special logic for automatic …
andrewwinters5000 c2efc16
add another test for the visualization logic
andrewwinters5000 a2e7c0b
added test for updating the background grid size
andrewwinters5000 89b79a5
add proper error throwing for the background grid queries
andrewwinters5000 bad6321
small cleanup of the test files
andrewwinters5000 8bb3249
Catch a typo
DavidAKopriva 9c150b3
comment out docstring of duplicateCurve
andrewwinters5000 d3674fe
add the unRegisterForNotification function back in and test it
andrewwinters5000 8eea84f
Change Curve labeling
DavidAKopriva 73f74a8
update comment in background tests
andrewwinters5000 330c95d
adjust how the project name is set in openProject from a control file…
andrewwinters5000 94b4c3e
update authors in the docs
andrewwinters5000 f636891
adjust spacing in the cheatsheet
andrewwinters5000 4019f3f
spacing in cheat sheet
andrewwinters5000 903f3f8
wrap commands in a code environment
andrewwinters5000 ac8b27c
remove any tabs from CheatSheet spacing
andrewwinters5000 5c90798
remove tabs, adjust spacing, introduce code environments, and adjust …
andrewwinters5000 bf04082
add cleanup of preview docs
andrewwinters5000 28d1699
switch to three spaces for indent. Renders better with githubs markdown
andrewwinters5000 132cf2d
add quotes to certain code pieces as suggested in review
andrewwinters5000 2dc2fe4
typo fixes float64 to Float64
andrewwinters5000 3af695a
make global arrayRegex type stable
andrewwinters5000 bf52aa7
change Int64 to Int
andrewwinters5000 cf173d6
use Perl style string concatenation for literals
andrewwinters5000 4c5e035
Remove dependency of Printf with Perl style concatenation
andrewwinters5000 38343ea
set constants for better type stability
andrewwinters5000 df2cb4e
export plotting constants for better user experience
andrewwinters5000 d83af6e
adjust includes. Now only the main module has them
andrewwinters5000 e3b8555
adjust spacing throughout between functions to make code easier to read
andrewwinters5000 652df2c
add proper warnings for undefined status types or unjoined curves
andrewwinters5000 a3b4943
int types change
andrewwinters5000 57f3c17
add compat for AbaqusReader to testing Project toml
andrewwinters5000 e640d8f
update the global license
andrewwinters5000 e57c590
remove license from the individual files
andrewwinters5000 08b0edb
Update src/Curves/CurveOperations.jl
DavidAKopriva 3710c10
Edit documentation
DavidAKopriva 96260d9
Update ControlFileOperations.jl
DavidAKopriva d9cfb63
Add routines to check integrity of boundary curves
DavidAKopriva 7f52b2e
add some comments as suggested in review
andrewwinters5000 5ef8283
add tests for the internal modelCurvesAreOK function
andrewwinters5000 ea26a68
throw an error if one tries to remove an outer boundary curve that is…
andrewwinters5000 7d6b076
dummy commit testing GitHub for Andrew
ranocha 4c753f9
switch off demo tests
andrewwinters5000 468e8fb
Changes to curve adding behavior
DavidAKopriva 91c57ea
properly export the examples folder
andrewwinters5000 b48611e
move runDemo into an external example script
andrewwinters5000 8be0539
remove demo tests from test folder
andrewwinters5000 5eb27e6
small patch to throw an error in new chain creation
andrewwinters5000 839d7c7
fix new error to be more general
andrewwinters5000 0d6eafd
add a few tests for new interactive example files; replacing the func…
andrewwinters5000 b292b6d
adjust test for new strategy of adding curves in arbitrary order
andrewwinters5000 51dacf8
automatically update the file names if the mesh format changes
andrewwinters5000 b236f5c
bug fix in model curves check.
andrewwinters5000 c83e86d
improve comments in ice cream cone example file
andrewwinters5000 f6ef83f
move demos out of library and into example files
andrewwinters5000 b72a013
add new example file with staight-sided outer boundary
andrewwinters5000 79999ea
update header of new two circle example
andrewwinters5000 955dc20
add another example file with splines
andrewwinters5000 08968d9
better spacing
andrewwinters5000 96254d3
add proper plotting logic and output statements for the user
andrewwinters5000 1d2eb46
fix comment in two circles example
andrewwinters5000 d641654
remove unnecessary tests
andrewwinters5000 9442d40
Bump compat of CairoMakie in the testing Project.toml
andrewwinters5000 741fe41
update docstrings
andrewwinters5000 03834ae
update more docstrings
andrewwinters5000 2db2d2e
no longer export examples_dir to avoid warning / confusion
andrewwinters5000 111cb8a
Update documentation with HQMTool (#17)
andrewwinters5000 dd29e70
remove unnecessary part of github docs
andrewwinters5000 1675a08
further cleanup of exporting
andrewwinters5000 1907598
update tests
andrewwinters5000 dde3e22
add creation of output folder if not present
andrewwinters5000 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
name: Doc Preview Cleanup | ||
|
||
on: | ||
pull_request: | ||
types: [closed] | ||
|
||
jobs: | ||
doc-preview-cleanup: | ||
# Do not run on forks to avoid authorization errors | ||
# Source: https://github.community/t/have-github-action-only-run-on-master-repo-and-not-on-forks/140840/18 | ||
if: github.repository_owner == 'trixi-framework' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout gh-pages branch | ||
uses: actions/checkout@v2 | ||
with: | ||
ref: gh-pages | ||
|
||
- name: Delete preview and history | ||
shell: bash | ||
run: | | ||
git config user.name "Documenter.jl" | ||
git config user.email "[email protected]" | ||
git rm -rf --ignore-unmatch "previews/PR$PRNUM" | ||
git commit -m "delete preview" --allow-empty | ||
git branch gh-pages-new $(echo "delete history" | git commit-tree HEAD^{tree}) | ||
env: | ||
PRNUM: ${{ github.event.number }} | ||
|
||
- name: Push changes | ||
run: | | ||
git push --force origin gh-pages-new:gh-pages |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,3 +6,5 @@ coverage/ | |
coverage_report/ | ||
**/*.jl.*.cov | ||
.vscode/ | ||
examples/*.tec | ||
examples/*.mesh | ||
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2021-present Michael Schlottke-Lakemper | ||
Copyright (c) 2021-present David Kopriva, Andrew Winters, and Michael Schlottke-Lakemper | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
# HQMTool CheatSheet | ||
|
||
Workflow: | ||
|
||
1. Create a project | ||
2. Add boundary curves | ||
4. Add a background grid | ||
3. Add manual refinement (if desired) | ||
5. Generate mesh | ||
|
||
## Project | ||
|
||
``` | ||
p = newProject(<projectName>, <folder>) | ||
``` | ||
|
||
## [Plotting](@id cs-plotting) | ||
|
||
``` | ||
plotProject!(p, options) | ||
updatePlot!(p, options) | ||
``` | ||
|
||
`options` are the sum of `GRID`, `MESH`, `MODEL`, `REFINEMENTS` | ||
## Curves | ||
|
||
``` | ||
c = new(name, startLocation [x,y,z],endLocation [x,y,z]) *Straight Line* | ||
c = new(name,center [x,y,z],radius, startAngle, endAngle) *Circular Arc* | ||
c = new(name, xEqn, yEqn, zEqn) *Parametric equation* | ||
c = new(name, dataFile) *Spline with data from a file* | ||
c = new(name, nKnots, knotsMatrix) *Spline with given knot values* | ||
``` | ||
|
||
Shown here is the use of the function `new`, which is a shortcut to the full functions, e.g. `newCircularArcCurve`, etc. which have the same arguments. | ||
|
||
## [Manual Refinement](@id cs-manual-refinement) | ||
|
||
``` | ||
r = newRefinementCenter(name, center, gridSize, radius) | ||
r = newRefinementLine(name, type, startPoint, endPoint, gridSize, width) | ||
``` | ||
|
||
## Adding to a Project | ||
|
||
``` | ||
add!(p, c) *Add outer boundary curve* | ||
add!(p, c, <InnerBoundaryName>) *Add curve to an inner boundary* | ||
add!(p, r) *Add refinement region* | ||
|
||
addBackgroundGrid!(p, [top, left, bottom, right], [nX, nY, nZ]) *No outer boundary* | ||
addBackgroundGrid!(p, [dx, dy, dz]) *If an outer boundary is present* | ||
``` | ||
Shown here is the use of the function `add!`, which is a shortcut to the full functions, e.g. `addOuterBoundaryCurve`, etc. which have the same arguments. | ||
|
||
## Accessing items | ||
|
||
``` | ||
crv = getCurve(p, curveName) *Get a curve in the outer boundary* | ||
crv = getCurve(p, curveName, boundaryName) *Get a curve in an inner boundary* | ||
indx, chain = getChain(p, boundaryName) *Get a complete inner boundary curve* | ||
r = getRefinementRegion(p, name) | ||
``` | ||
|
||
## Removing from Project | ||
|
||
``` | ||
removeOuterboundary!(p) *Entire outer boundary curve* | ||
removeInnerBoundary!(p, innerBoundaryName) *Entire inner boundary curve* | ||
remove!(p, name) *Curve in outer boundary* | ||
remove!(p, name, innerBoundaryName) *Curve in inner boundary* | ||
removeRefinementRegion!(p, name) | ||
``` | ||
|
||
## Editing items | ||
|
||
All items have set/get methods to edit them. Most actions have `undo()` and `redo()`. | ||
To find out what the next undo/redo actions are, use `undoActionName()` and `redoActionName()` | ||
to print them to the screen. | ||
|
||
## Meshing | ||
|
||
``` | ||
generate_mesh(p) | ||
remove_mesh!(p) | ||
``` |
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To make it work for subfolders as well?