-
Notifications
You must be signed in to change notification settings - Fork 9
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 all 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 |
---|---|---|
@@ -1,8 +1,12 @@ | ||
**/Manifest.toml | ||
out*/ | ||
docs/build | ||
docs/src/authors.md | ||
public/ | ||
coverage/ | ||
coverage_report/ | ||
**/*.jl.*.cov | ||
.vscode/ | ||
examples/*.tec | ||
examples/*.mesh | ||
*.png |
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,24 @@ | ||
# Authors | ||
|
||
HOHQMesh.jl is maintained by the | ||
[Trixi authors](https://github.com/trixi-framework/Trixi.jl/blob/main/AUTHORS.md). | ||
Its development is coordinated by the *principal developers* who are its main | ||
contributors and can be contacted in case of questions about HOHQMesh. In addition, | ||
there are *contributors* who have provided substantial additions or modifications. | ||
The [*HOHQMesh*](https://github.com/trixi-framework/HOHQMesh) mesh generator itself | ||
is developed by David A. Kopriva. | ||
|
||
## Principal Developers | ||
* [David A. Kopriva](https://www.math.fsu.edu/~kopriva/), | ||
Florida State University, USA | ||
* [Andrew Winters](https://liu.se/en/employee/andwi94), | ||
Linköping University, Sweden | ||
|
||
## Contributors | ||
The following people contributed major additions or modifications to HOHQMesh and | ||
are listed in alphabetical order: | ||
|
||
* David Kopriva | ||
* Hendrik Ranocha | ||
* Michael Schlottke-Lakemper | ||
* Andrew Winters |
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,97 @@ | ||
# Commands Cheat Sheet | ||
|
||
This provides a quick reference for the syntax | ||
of the interactive construction of boundary curves, background grid, etc. | ||
When possible, the commands presented below give | ||
generic versions of the function calls, e.g., for creating a new curve or | ||
adding the curve to a boundary chain. The script | ||
`interactive_outer_boundary_generic.jl` in the `examples` folder | ||
constructs an identical example mesh as shown in the [Guided tour](@ref) | ||
using generic function calls. | ||
|
||
A thorough description of the functions can be found in the [API](@ref) section. | ||
|
||
The general workflow of the interactive mesh functionality within a REPL session is | ||
|
||
1. Create a project | ||
2. Add boundary curves | ||
3. Add a background grid | ||
4. Add manual refinement (if desired) | ||
5. Generate mesh | ||
|
||
## Project | ||
|
||
``` | ||
p = newProject(<projectName>, <folder>) | ||
``` | ||
|
||
## [Plotting](@id cs-plotting) | ||
|
||
``` | ||
plotProject!(p, options) | ||
updatePlot!(p, options) | ||
``` | ||
|
||
The `options` are any sum of `MODEL`, `GRID`, `REFINEMENTS`, and `MESH`. | ||
## 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) | ||
``` |
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,54 @@ | ||
# Contributing | ||
|
||
HOHQMesh.jl is an open-source project and we are very happy to accept contributions | ||
from the community. Please feel free to open issues or submit patches (preferably | ||
as merge requests) any time. For planned larger contributions, it is often | ||
beneficial to get in contact with one of the principal developers first (see | ||
[Authors](@ref)). | ||
|
||
HOHQMesh.jl and its contributions are licensed under the MIT license (see | ||
[License](@ref)). As a contributor, you certify that all your | ||
contributions are in conformance with the *Developer Certificate of Origin | ||
(Version 1.1)*, which is reproduced below. | ||
|
||
## Developer Certificate of Origin (Version 1.1) | ||
The following text was taken from | ||
[https://developercertificate.org](https://developercertificate.org): | ||
|
||
Developer Certificate of Origin | ||
Version 1.1 | ||
|
||
Copyright (C) 2004, 2006 The Linux Foundation and its contributors. | ||
1 Letterman Drive | ||
Suite D4700 | ||
San Francisco, CA, 94129 | ||
|
||
Everyone is permitted to copy and distribute verbatim copies of this | ||
license document, but changing it is not allowed. | ||
|
||
|
||
Developer's Certificate of Origin 1.1 | ||
|
||
By making a contribution to this project, I certify that: | ||
|
||
(a) The contribution was created in whole or in part by me and I | ||
have the right to submit it under the open source license | ||
indicated in the file; or | ||
|
||
(b) The contribution is based upon previous work that, to the best | ||
of my knowledge, is covered under an appropriate open source | ||
license and I have the right under that license to submit that | ||
work with modifications, whether created in whole or in part | ||
by me, under the same open source license (unless I am | ||
permitted to submit under a different license), as indicated | ||
in the file; or | ||
|
||
(c) The contribution was provided directly to me by some other | ||
person who certified (a), (b) or (c) and I have not modified | ||
it. | ||
|
||
(d) I understand and agree that this project and the contribution | ||
are public and that a record of the contribution (including all | ||
personal information I submit with it, including my sign-off) is | ||
maintained indefinitely and may be redistributed consistent with | ||
this project or the open source license(s) involved. |
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,67 @@ | ||
# Development | ||
|
||
## Text editors | ||
When writing code, the choice of text editor can have a significant impact on | ||
productivity and developer satisfaction. While using the default text editor | ||
of the operating system has its own benefits (specifically the lack of an explicit | ||
installation procure), usually it makes sense to switch to a more | ||
programming-friendly tool. In the following, a few of the many options are | ||
listed and discussed: | ||
|
||
### VS Code | ||
[Visual Studio Code](https://code.visualstudio.com/) is a modern open source | ||
editor with [good support for Julia](https://github.com/julia-vscode/julia-vscode). | ||
While [Juno](#Juno) had some better support in the past, the developers of Juno | ||
and the Julia VS Code plugin are joining forces and concentrating on VS Code | ||
since support of Atom has been suspended. Basically, all comments on [Juno](#Juno) | ||
below also apply to VS Code. | ||
|
||
### Juno | ||
If you are new to programming or do not have a preference for a text editor | ||
yet, [Juno](https://junolab.org) is a good choice for developing Julia code. | ||
It is based on *Atom*, a sophisticated and widely used editor for software | ||
developers, and is enhanced with several Julia-specific features. Furthermore | ||
and especially helpful for novice programmers, it has a MATLAB-like | ||
appearance with easy and interactive access to the current variables, the | ||
help system, and a debugger. | ||
|
||
### Vim or Emacs | ||
Vim and Emacs are both very popular editors that work great with Julia. One | ||
of their advantages is that they are text editors without a GUI and as such | ||
are available for almost any operating system. They also are preinstalled on | ||
virtually all Unix-like systems. However, Vim and Emacs come with their own, | ||
steep learning curve if they have never been used before. Therefore, if in doubt, it | ||
is probably easier to get started with a classic GUI-based text editor (like | ||
Juno). If you decide to use Vim or Emacs, make sure that you install the | ||
corresponding Vim plugin | ||
[julia-vim](https://github.com/JuliaEditorSupport/julia-vim) or Emacs major | ||
mode [julia-emacs](https://github.com/JuliaEditorSupport/julia-emacs). | ||
|
||
|
||
|
||
## Releasing a new version of HOHQMesh | ||
|
||
- Check whether everything is okay, tests pass etc. | ||
- Set the new version number in `Project.toml` according to the Julian version of semver. | ||
Commit and push. | ||
- Comment `@JuliaRegistrator register` on the commit setting the version number. | ||
- `JuliaRegistrator` will create a PR with the new version in the General registry. | ||
Wait for it to be merged. | ||
- Increment the version number in `Project.toml` again with suffix `-pre`. For example, | ||
if you have released version `v0.2.0`, use `v0.2.1-pre` as new version number. | ||
|
||
|
||
|
||
## Preview the documentation | ||
|
||
You can build the documentation of HOHQMesh.jl locally by running | ||
```bash | ||
julia --project=docs -e 'using Pkg; Pkg.instantiate(); include("docs/make.jl")' | ||
``` | ||
from the HOHQMesh.jl main directory. Then, you can look at the html files generated in | ||
`docs/build`. | ||
For PRs triggered from branches inside the HOHQMesh.jl main repository previews of | ||
the new documentation are generated at `https://trixi-framework.github.io/HOHQMesh.jl/previews/PRXXX`, | ||
where `XXX` is the number of the PR. | ||
Note, this does not work for PRs from forks for security reasons (since anyone could otherwise push | ||
arbitrary stuff, including malicious code). |
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?