History log of /honee/qfunctions/ (Results 251 – 275 of 290)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
a6e8f98920-Jun-2022 James Wright <james@jameswright.xyz>

examples/fluids: Add STGInflow Jacobian QFunction

2be05fbd14-Jun-2022 James Wright <james@jameswright.xyz>

examples/fluids: Protect against divide-by-0

- When running with strong enforced stg, the spectrum calc can try and
divide by 0 (distance to the wall)
- This behavior doesn't break anything per

examples/fluids: Protect against divide-by-0

- When running with strong enforced stg, the spectrum calc can try and
divide by 0 (distance to the wall)
- This behavior doesn't break anything persay, but this commit makes it
much easier to debug floating point exceptions.

show more ...

43bff55311-Jun-2022 James Wright <james@jameswright.xyz>

examples/fluids: ICs from STG Profile

68ae065a07-Jun-2022 James Wright <james@jameswright.xyz>

examples/fluids: Viscous flux for BoundaryIntegral jacobian

b01ba16310-Jun-2022 James Wright <james@jameswright.xyz>

examples/fluids: Add viscous flux to POutflow Jacobian

e6b47afb07-Jun-2022 James Wright <james@jameswright.xyz>

examples/fluids: Move POutflow_Jac to State variables

- Verified to be exactly the same as before, just using the State
structs and methods

d3b25f3a06-Jun-2022 James Wright <james@jameswright.xyz>

examples/fluids: Add viscous flux to StrongInflowBI

25bfcc4106-Jun-2022 James Wright <james@jameswright.xyz>

examples/fluids: Add viscous flux to POutflow BC

04b9037b06-Jun-2022 James Wright <james@jameswright.xyz>

examples/fluids: Move blasius outflow to newtonian.h

8085925c06-Jun-2022 James Wright <james@jameswright.xyz>

examples/fluids: Move StrongSTGbcFunc to newtonian.h

- Requires significant changes to how the stg_context is passed to the
the strong bc

475b282005-Jun-2022 James Wright <james@jameswright.xyz>

examples/fluids: Abstract State and helper funcs

dd64951c03-Jun-2022 James Wright <james@jameswright.xyz>

examples/fluids: Pass solution gradient to boundary QFs

f5d61e2f04-Jun-2022 Jed Brown <jed@jedbrown.org>

Merge branch 'main' into jed/fluids-jacobian

* main: (24 commits)
op - more data in view
examples/fluids: Test for strong STG
examples/fluids: Add strong STG to documentation
examples/fluids

Merge branch 'main' into jed/fluids-jacobian

* main: (24 commits)
op - more data in view
examples/fluids: Test for strong STG
examples/fluids: Add strong STG to documentation
examples/fluids: Add option for BC from ICs
examples/fluids: Correct for non-origin domains
examples/fluids: Implement Strong STG BC
examples/fluids: Minor stg improvements/style
examples/fluids: Add Strong STG functions
examples/fluids: Fix memory leak in STG
GPU assembly: fix potential basis loading offset error
tests - more complex source include testing
pc - fix qf fallback cloning
restr - relax comp_stride check for num_comp == 1
make style
pc - avoid direct access of basis data in multigrid creation
ceed - refactor fallback Ceed creation into separate fn
minor - homogonize int vs CeedInt
basis - add input checks
restr - add input checks on element restrictions
examples/fluids: Update STG test for new mesh feats
...

show more ...

ef2c71fd02-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

0a8dc91924-May-2022 James Wright <james@jameswright.xyz>

examples/fluids: Minor stg improvements/style

e6098bcd24-May-2022 James Wright <james@jameswright.xyz>

examples/fluids: Add Strong STG functions

2556a85124-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.

eef2387d23-May-2022 Jed Brown <jed@jedbrown.org>

Merge branch 'main' into jed/fluids-jacobian

* main:
Fluids - Add STG inflow (#868)
ci - fix Nek5000 testing

493642f122-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 ...

9abe94a016-May-2022 Jed Brown <jed@jedbrown.org>

examples/fluids: update Blasius inflow/outflow viscous for arbitrary normal

f0b6537213-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 ...

752f40e312-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.

2f7ce6c111-May-2022 Jed Brown <jed@jedbrown.org>

examples/fluids: small consolidation

c1a5236511-May-2022 Jed Brown <jed@jedbrown.org>

examples/fluids: factor Newtonian with better helpers

c58dce4f11-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 ...

1...<<1112