| 30af3636 | 03-Jun-2022 |
James Wright <james@jameswright.xyz> |
examples/fluids: Add strong STG to documentation |
| 36b31e27 | 03-Jun-2022 |
James Wright <james@jameswright.xyz> |
examples/fluids: Add option for BC from ICs
- Instead of hard coded if statement, add option on whether to set the boundary conditions based on their initial condition values - Default set to
examples/fluids: Add option for BC from ICs
- Instead of hard coded if statement, add option on whether to set the boundary conditions based on their initial condition values - Default set to True
show more ...
|
| f1122ed0 | 02-Jun-2022 |
James Wright <james@jameswright.xyz> |
examples/fluids: Correct for non-origin domains
- Add correction for if domain is not set at the origin |
| 363b60e1 | 24-May-2022 |
James Wright <james@jameswright.xyz> |
examples/fluids: Implement Strong STG BC |
| 961c9c98 | 24-May-2022 |
James Wright <james@jameswright.xyz> |
examples/fluids: Minor stg improvements/style |
| 4e139266 | 24-May-2022 |
James Wright <james@jameswright.xyz> |
examples/fluids: Add Strong STG functions |
| d95c92db | 23-May-2022 |
James Wright <james@jameswright.xyz> |
examples/fluids: Fix memory leak in STG |
| b9f28b19 | 24-May-2022 |
James Wright <james@jameswright.xyz> |
examples/fluids: Update STG test for new mesh feats |
| 91eaef80 | 17-May-2022 |
James Wright <james@jameswright.xyz> |
examples/fluids: Update docs for meshing from file |
| d2714514 | 17-May-2022 |
James Wright <james@jameswright.xyz> |
examples/fluids: Specify FPBL mesh node locations via file |
| 39c69132 | 24-May-2022 |
Jed Brown <jed@jedbrown.org> |
examples/fluids: fix zero-size Jacobian data and STG
Use -snes_fd_color for now because STG inflow Jacobian isn't implemented. |
| 7b8d3891 | 23-May-2022 |
James Wright <james@jameswright.xyz> |
examples/fluids: Refactoring blasius mesh generation |
| 3c4b7af6 | 23-May-2022 |
Jed Brown <jed@jedbrown.org> |
Merge branch 'main' into jed/fluids-jacobian
* main: Fluids - Add STG inflow (#868) ci - fix Nek5000 testing |
| ba6664ae | 22-May-2022 |
James Wright <james@jameswright.xyz> |
Fluids - Add STG inflow (#868)
* doc(fluids): Add STG equations
* doc(fluids): Add basic data flow for STG
* doc(fluids): Add Shur et al. 2014 STG paper to bib
* doc(fluids): Specify STG in
Fluids - Add STG inflow (#868)
* doc(fluids): Add STG equations
* doc(fluids): Add basic data flow for STG
* doc(fluids): Add Shur et al. 2014 STG paper to bib
* doc(fluids): Specify STG inputs files, misc additions
* doc(fluids): Add intro for STG section
* fix(fluids): Add #include ceed.h for qfunctions
- In the spirit of "include what you use"
* feat(fluids): Start work on stg_shur14.h
* doc-fix: Correct kappa_min definition
* Move STG setup functions to problems/stg_shur14
* feat: Add cholesky decomposition function
* fix: Correct stg_ctx malloc, reorganize creation
Co-authored-by: Jed Brown <jed@jedbrown.org>
* fix(fluids): Correct return values of functions
* style: Fix up style
* feat(fluids): Get file paths from PetscOptions
- Also convert SetupSTGContext to return PetscErrorCode
* fix(fluids): Correct stg_ctx dereferencing
- Also move to size_t for type of the offsets
* feat(fluids): Add funcs for processing STG*.dat files
* feat(fluids): Move to PetscOptions* for STG flags
* feat: Use `PetscMax` instead of macro
* fix(fluids): Correct/Refactor file reading functions
- Move to `PetscSynchronizedFGets`
- Remove `inline`
- Pass `comm` between functions
- Add `OpenPHASTADatFile` to DRY
* docs(fluids): Fix equation typo
* fix(fluids): Correct calculation of kappa
* feat(fluids): Complete STGShur14_Calc
* feat(fluids): Add InterpolateProfile helper func
* feat(fluids): Add CalcSpectrum helper func
* feat(fluids): Add to STGShur14_Calc qfunction
* fix: Add M_PI, Update SETERRQ functions
- Also update style
* fix: Correct interpolation outside of datarange
* fix: Add missing definition for ke in CalcSpectrum
* feat: Migrate context and func signatures, Misc
- Create SetupSTGContext to be run in another Setup_____Context
function
- Migrate STGShur14Context, CreateSTGContext, and SetupSTGContext
signatures to navierstokes.h
- Add STG contexts to Physics and CeedData
- Add missing CHKERRQ to PetscFClose
- Move to SPDX license headers
* examples/fluids: Pass solution time via context label
* feat: Implement STG boundary integral
- Add theta0 and implicit members to STGShur14Context
- Tested via implementation to the blasius BL problem (though this will
probably go against the code history)
* feat: Fix STG Stuff
* feat: Implement STG inflow for blasius BL
- Note that fluctuations are turned off in this case
* examples/fluids: Add stg_mean_only flag
* examples/fluids: Check cholesky decomp for nans
- Also correct locaiton of cholesky decomposition in ReadSTGInflow()
* examples/fluids: Correct STG documentation
- Missing a 2 sqrt(3/2) factor and didn't take square root of q
* examples/fluids: Fix STGShur14_Calc
- Given the calculated spectrum, calculation of v' and u' verified
against python implementation (which was validated previously against
PHASTA)
* examples/fluids: Calc dXdx for boundary QFunctions
- Also calculate h from the dXdx in STGShur14_Inflow
- Replace h[0] result with constant dx spacing
* examples/fluids: Fix STG Spectra calcualtion
* examples/fluids: Fix build errors
- Ran into an include cycle collision that resulted in over-defining
SetupContext in advection.c
- newtonian_types.h (which has SetupContext defined) ->
stg_shur14_type.h -> navierstokes.h -> advection.c
* examples/fluids: Update and fix documentation
* examples/fluids: Correct dXdx comment, leave TODO
Co-authored-by: Jed Brown <jed@jedbrown.org>
* examples/fluids: Minor bib citation edits
Co-authored-by: Jed Brown <jed@jedbrown.org>
* examples/fluids: Add STGInflow.dat, fix blasius.yaml
* examples/fluids: int -> PetscInt | CeedInt
* examples/fluids: Style
* examples/fluids: Make Boolean names verb_noun format
- Also changes the stg flag to `-stg_use`
* examples/fluids: Add STG test
* examples/fluids: Style fix up
* examples/fluids: Update docs
* examples/fluids: Implement weakT option for STG
* examples/fluids: Fix casting for ROCm
* examples/fluids: avoid PETSc dependency in qfunctions
* examples/fluids: header cleanup
* backends/hip: avoid redundant inline
* examples/fluids: avoid VLA in qfunctions
GPUs don't like VLA and some compilers reject it when targeting GPUs.
* examples/fluids: Create STG_NMODES_MAX
* examples/fluids: Refactor stg setup out of blasius.c
* examples/fluids: Fix misc GPU bugs
Co-authored-by: Jed Brown <jed@jedbrown.org>
show more ...
|
| 4ea65e7b | 15-May-2022 |
Jed Brown <jed@jedbrown.org> |
examples/fluids: select GPU matrix and vector types
Mark viscous implicit examples to use -snes_fd_color because GPU assembly is corrupt for unknown reasons. It's correct when running on device with
examples/fluids: select GPU matrix and vector types
Mark viscous implicit examples to use -snes_fd_color because GPU assembly is corrupt for unknown reasons. It's correct when running on device with shell matrices.
show more ...
|
| 30ccfdea | 16-May-2022 |
Jed Brown <jed@jedbrown.org> |
examples/fluids: update Blasius inflow/outflow viscous for arbitrary normal |
| e334ad8f | 13-May-2022 |
Jed Brown <jed@jedbrown.org> |
examples/fluids: add IJacobian for SUPG
I think this is exact for Galerkin on channel.yaml and blasius.yaml. Specifically, SNES converges almost perfectly in this test than when -snes_mf_operator is
examples/fluids: add IJacobian for SUPG
I think this is exact for Galerkin on channel.yaml and blasius.yaml. Specifically, SNES converges almost perfectly in this test than when -snes_mf_operator is added.
-options_file examples/fluids/channel.yaml -snes_monitor -ksp_converged_reason -stab none -ts_max_steps 3 -newtonian_unit_tests -ksp_rtol 1e-10 -order 2 -ts_dt 3e-6 -pc_type lu
I say "think" because something is fishy with the viscous energy term velocity*stress. If I disable that term, then convergence is clearly better with the analytic Jacobian (makes sense because it's accuracy is machine epsilon) than with -snes_mf_operator. This is unexpected, but the difference is near the limit of numerical stability so I'm not confident it's wrong. Also, the term itself is so simple.
The Jacobian is inexact for SUPG in that Tau_d is frozen.
WIP: examples/fluids: support MatShell and Blasius_Inflow_Jacobian
show more ...
|
| e71202f6 | 13-May-2022 |
Jed Brown <jed@jedbrown.org> |
examples/fluids: fix sign and magnitude of channel flow body force
Add -body_force_scale, which can be -1 to test that a flow reversal builds to the same steady profile with opposite sign.
I also c
examples/fluids: fix sign and magnitude of channel flow body force
Add -body_force_scale, which can be -1 to test that a flow reversal builds to the same steady profile with opposite sign.
I also changed the domain size (reducing Reynolds number from 4500 to 45) so flow reversal can be observed reasonably quickly when desired.
show more ...
|
| a3ae0734 | 12-May-2022 |
Jed Brown <jed@jedbrown.org> |
examples/fluids: record state and tau in preparation for Jacobian
Change notation from dq to Grad_q so that dq can be used consistently as variations. |
| 2534dcc8 | 12-May-2022 |
Jed Brown <jed@jedbrown.org> |
examples/fluids: GetRestrictionForDomain accept NULL arguments |
| 6f00d0e6 | 11-May-2022 |
Jed Brown <jed@jedbrown.org> |
examples/fluids: small consolidation |
| 5c677226 | 11-May-2022 |
Jed Brown <jed@jedbrown.org> |
examples/fluids: factor Newtonian with better helpers |
| c32eb7cb | 11-May-2022 |
Jed Brown <jed@jedbrown.org> |
examples/fluids: avoid pow(double, int) due to CUDA_ERROR_INVALID_PTX
NVRTC with various CUDA versions 11.2 to 11.6 return CUDA_ERROR_INVALID_PTX when calling pow(double, int) from kernels. Typicial
examples/fluids: avoid pow(double, int) due to CUDA_ERROR_INVALID_PTX
NVRTC with various CUDA versions 11.2 to 11.6 return CUDA_ERROR_INVALID_PTX when calling pow(double, int) from kernels. Typicially pow(x, 2.) is optimized to x*x at -O1 and above with gcc, but pow(x, 4.) is not optimized.
show more ...
|
| a0add3c9 | 10-May-2022 |
Jed Brown <jed@jedbrown.org> |
examples/fluids: make setup contexts independent
These are now private to each example and can be developed independently. |
| b1289648 | 10-May-2022 |
Jed Brown <jed@jedbrown.org> |
examples/fluids: remove setup_ctx from printing |