Difference between revisions of "PHASTA/Wish List"
From PHASTA Wiki
Line 10: | Line 10: | ||
*Convert all Fortran to a separate language (such as C or Julia) | *Convert all Fortran to a separate language (such as C or Julia) | ||
*Cross Platform (Hey, I can dream) | *Cross Platform (Hey, I can dream) | ||
+ | *Add testing (unit ''and'' regression) | ||
+ | ** See [https://github.com/fortesg/fortrantestgenerator FortranTestGenerator] to automatically generate unit tests from the code (and it's accompanying [https://ieeexplore.ieee.org/document/7839465 IEEE paper]). | ||
+ | ** Also possibly build up using [https://github.com/jrwrigh/libFRUIT libFRUIT] for unit tests | ||
+ | *Convert all code to use <code>blk%_</code> instead of it's equivalents (<code>npro</code>, etc.) | ||
+ | *Split generation of <code>d2wall</code> from SA code into a separate module | ||
+ | *Make timestep increaseable through <code>rerun-check</code> | ||
+ | ** Replace iterative do loop with while loop | ||
+ | *Implement style guide/formatter | ||
+ | ** [https://sourceforge.net/projects/findent/ findent] for formatting and converting fixed-form to free-form (also actively maintained!) | ||
+ | ** [https://github.com/pseewald/fprettify fprettify] is a Python derived version | ||
+ | * Convert to free-form Fortran | ||
+ | ** Most tools these days support >=F90 format, also generally just an easier format to use | ||
+ | **[https://sourceforge.net/projects/findent/ findent] will convert fixed-form to free-form (also actively maintained!) | ||
+ | ** Several tools listed in this [http://degenerateconic.com/fixed-to-free-form-fortran-conversion/ webpage] | ||
+ | |||
== NSpre == | == NSpre == |
Revision as of 10:12, 17 August 2020
This page is intended to be a log of useful features to add to various tools such as Phasta and NSpre. Odds are that no one will ever actually implement anything listed on this page, but if you somehow find yourself with a little extra time, it's always here.
Phasta
- Standardize the Sync IO library to work as is across Phasta and Paraview.
- Get rid of the need to know a priori how many fields will need to be written when using Sync IO
- Write interface to allow Phasta to read and write both Sync IO and Posix
- Fix bug in Sync IO to allow serial IO.
- Modify common.h (and the rest of the code) to allow implicit none.
- Convert all Fortran to a separate language (such as C or Julia)
- Cross Platform (Hey, I can dream)
- Add testing (unit and regression)
- See FortranTestGenerator to automatically generate unit tests from the code (and it's accompanying IEEE paper).
- Also possibly build up using libFRUIT for unit tests
- Convert all code to use
blk%_
instead of it's equivalents (npro
, etc.) - Split generation of
d2wall
from SA code into a separate module - Make timestep increaseable through
rerun-check
- Replace iterative do loop with while loop
- Implement style guide/formatter
- Convert to free-form Fortran
NSpre
- Error checking to make sure that the size of the mesh contained in geom.sms is equal to the size of the mesh associated with restart.*.0.
- Ability to interpolate directly from a partitioned mesh.