History log of /libCEED/examples/fluids/problems/channel.c (Results 26 – 32 of 32)
Revision Date Author Comments
# 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 ...


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


# 0228c988 10-May-2022 Jed Brown <jed@jedbrown.org>

Merge pull request #958 from CEED/jed/fluids-cleaning

examples/fluids cleaning


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


# 841e4c73 09-May-2022 Jed Brown <jed@jedbrown.org>

examples/fluids: consolidate two-step setup

Contexts are created in one place now and we have removed duplicate
struct definitions for physics.


# 91e5af17 09-May-2022 Jed Brown <jed@jedbrown.org>

examples/fluids: create struct in Problem for each qfunction + related

This is a cosmetic step toward better modularity.


# 88626eed 30-Apr-2022 James Wright <james@jameswright.xyz>

feat: Add blasius boundary layer and channel flow examples to examples/fluids (#942)

* examples/fluids: Upload current case for collaboration

* examples/fluids: Replace developing BL with duct

feat: Add blasius boundary layer and channel flow examples to examples/fluids (#942)

* examples/fluids: Upload current case for collaboration

* examples/fluids: Replace developing BL with duct

* examples/fluids: Allow density to "float" at inflow

* fix: Add u_normal

* examples/fluids: bug fix in density flux

* examples/fluids: implement "floating" pressure; prescribed u, T

* examples/fluids: fixing initialization

We need has_neumann=true to get the weak boundary integrals called. It
is initialized in problem->setup_ctx and used in SetupLibceed(). This is
a hack to always apply.

* examples/fluids: include kinetic energy in Blasius IC

* examples/fluids: Blasius quasi-2D (slip in z planes)

* feat: Add Exact_Channel function

* feat: Use Exact_Channel for IC and Inflow

* examples/fluids: Add channel example

* examples/fluids: Define mu in blasius.c, cleanup

* examples/fluid: Add Blasius solution calculator

* examples/fluids: Add blasius IC and BCs

* Convert to implicit TS

* examples/fluids: Update blasius.yaml

* Move to ChannelContext, refactor DC and newtonian

- Added a dedicated ChannelContext, which allows for user setting of
flow parameters and consistent sharing of parameters between
QFunctions (instead of hardcoding)
- Moved density current (DC) specific settings from newtonian.c
densitycurrent.c

* Make gravity into vector quantity

* Add in body force for channel

* examples/fluids: remove explicitly setting coordinate field

This is created automatically now by DMPlex and DMProjectCoordinates
breaks (localized) periodicity, resulting in a tangled mesh.

* examples/fluids: transpose flux Jacobian in SUPG stabilization

* examples/fluids: update docs commensurate with flux Jacobian transpose fix

* examples/fluids: work on docs for tau

* examples/fluids: Increase blasius Re, implement Xi to SUPG

- Increased the Uinf and mu by 4x for the blasius problem
- Implemented the calculation of Xi for the SUPG term in newtonian.h

* examples/fluids: Remove flux jacobian transpose

- Removed for both eulervortex.h and newtonian.h

* examples/fluids: Reset Newtonian unit scaling to neutral

- Note that this resets the scaling for the densitycurrent problem,
thus the examples (and possibly tests) will probably need to be
changed

* examples/fluids: fix PetscOptionsBegin for new PETSc

* feat: Add slanted domain top surface

* feat: Add graded mesh option for blasius

* fix: Correct inflow boundary condition handling

* feat: Move to blasius_context, add CLI options

* feat: Move Blasius to physical air properties

* fix: Blasius profile and mesh generation

- Add the correct float->int rounding
- Fix eta to a value after exceeding the table's bounds

fix: Add fix eta after exceeding table

* examples/fluids: Move to physical mu default, fix tests

* doc: Add minimum documentation for channel and blasius

* examples/fluids: Add primitive jacobian and tau

- Also add misc comments

* examples/fluids: propose alternative flux Jacobian via prim-to-conservative

* examples/fluids: Add PHASTA diagonal tau

* fix: Add back in timestep obtaining

* examples/fluids: Add analytic tractions to inflow and outflow

- This is a stop-gap until viscous flux can be computed properly on the
boundary from current solution.
- Tau constants in a state of flux still but this produced a decent v at
inflow and outflow, removing the steep dive caused by forcing
dv/dx=-du/dy from a zero traction of omission.

* examples/fluids: CLI options for diagonal c_tau's

* examples/fluids: Update dt via context labels

* feat: Add more blasius table points

* examples/fluids: Cleanup stab and adjust Ctau_E

* examples/fluids: Replace spatial tau with diagonal

* examples/fluids: Fix stab in Euler

- Initialize `stab` to zero, add sum over loop

* examples/fluids: Document diagonal tau formulation

* examples/fluids: Fix compiler warnings

* examples/fluids: check error codes and elide unused header

* examples/fluids: Correct blasius example CLI

- Also add mention of the `blasius.yaml` file

* examples/fluids: Add supg to default blasius.yaml

* examples/fluids: Use yaml for channel and blasius

- Instead of long CLI options
- Also cleaned up the yaml formatting
- Added Cartesian directions to the faceMarker names

* examples/fluids: Show example yamls in README

Co-authored-by: Jed Brown <jed@jedbrown.org>
Co-authored-by: Kenneth E. Jansen <Kenneth.Jansen@colorado.edu>

show more ...


12