History log of /libCEED/examples/fluids/problems/densitycurrent.c (Results 26 – 49 of 49)
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 ...


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


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

examples/fluids: reduce prevalance of top-level setup_ctx


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


# 11dfcfe2 13-Apr-2022 Jed Brown <jed@jedbrown.org>

Merge pull request #940 from CEED/jeremy/petsc-options

petsc - update for PetscOptionsBegin/End


# 67490bc6 13-Apr-2022 Jeremy L Thompson <jeremy@jeremylt.org>

petsc - update for PetscOptionsBegin/End


# ce18bed9 17-Mar-2022 Jeremy L Thompson <jeremy@jeremylt.org>

Merge pull request #858 from CEED/jeremy/dump-copy-stuff

Strip redundant/outdated license info duplication


# 3d8e8822 17-Mar-2022 Jeremy L Thompson <jeremy@jeremylt.org>

minor - update copyright headers


# 88b783a1 05-Mar-2022 James Wright <james@jameswright.xyz>

Extract generic Navier-Stokes code into 'newtonian.h' (#903)

* feat(fluids): Extract newtownian.h from DC problem

- Also trade out `int` for `StabilizationType` enum

* style: Fix parameter sp

Extract generic Navier-Stokes code into 'newtonian.h' (#903)

* feat(fluids): Extract newtownian.h from DC problem

- Also trade out `int` for `StabilizationType` enum

* style: Fix parameter spacing

* feat: Move generic setup from DC -> newtonian

- Includes moving from `DCContext` to `NewtonianIdealGasContext` at
appropriate locations

* feat: Add "still" IC for generic Newtonian IG problems

* feat: Move SetupContext from DC -> newtonian.c

* fix: Remove unused variables, general cleanup

* examples/fluids: remove unnecessary includes

* examples/fluids: copy declarations to make newtonian.h self-contained

* examples/fluids: full name for context

Co-authored-by: Jed Brown <jed@jedbrown.org>

show more ...


# 5efe7942 02-Feb-2022 Leila Ghaffari <49916147+LeilaGhaffari@users.noreply.github.com>

Merge pull request #881 from CEED/leila/fluids-mesh

Fluids - Update mesh creating and remove problem-specific BCs


# 2fe7aee7 11-Jan-2022 Leila Ghaffari <Leila.Ghaffari@colorado.edu>

Set BCs in CL options

Factor out euler_outflow QFunction to be used in different problem cases


# 1864f1c2 30-Dec-2021 Leila Ghaffari <Leila.Ghaffari@colorado.edu>

Use DMCreate() to create mesh instead of DMPlexCreateBoxMesh()


# f163c87f 01-Feb-2022 Jed Brown <jed@jedbrown.org>

Merge pull request #885 from CEED/jeremy/min-petsc

PETSc - set minimum version for examples


# b8962995 31-Jan-2022 Jeremy L Thompson <jeremy@jeremylt.org>

petsc - set minimum version for examples


# 73bb2039 14-Jan-2022 Jed Brown <jed@jedbrown.org>

Merge pull request #865 from CEED/leila/fluid-stab

Fluids - Fix bug in Stabilization (SU/SUPG)


# 504dc8e0 12-Jan-2022 Leila Ghaffari <Leila.Ghaffari@colorado.edu>

examples/fluid: set c_tau = 0.5


# 932417b3 01-Jan-2022 Jed Brown <jed@jedbrown.org>

examples/fluids: tau as spatial criterion 2 of hughesetal2010

Testing traveling vortex with

$ build/fluids-navierstokes -problem euler_vortex -ts_adapt_monitor -lx 1000 -ly 1000 -lz 50 -dm_plex_box

examples/fluids: tau as spatial criterion 2 of hughesetal2010

Testing traveling vortex with

$ build/fluids-navierstokes -problem euler_vortex -ts_adapt_monitor -lx 1000 -ly 1000 -lz 50 -dm_plex_box_faces 20,20,1 -ts_adapt_safety 0.8 -implicit -snes_atol 1e-3 -ksp_atol 1e-4 -ksp_rtol 1e-3 -ts_type alpha -ts_dt 0.1 -ksp_type bcgs -pc_type lu -log_view -snes_monitor -ksp_monitor -snes_converged_reason -output_freq 1 -degree 1 -ts_max_time 5. -stab supg -snes_lag_jacobian 30 -snes_lag_jacobian_persists -snes_mf_operator

show more ...


# e6225c47 20-Dec-2021 Leila Ghaffari <Leila.Ghaffari@colorado.edu>

fluids - fix flux Jacobian and add su/supg to euler_vortex


# b5daa948 23-Aug-2021 Jeremy L Thompson <25011573+jeremylt@users.noreply.github.com>

Merge pull request #800 from CEED/leila/fluids-small-refactor

Fluids - Small refactor


# d0b732db 06-Aug-2021 Leila Ghaffari <Leila.Ghaffari@colorado.edu>

examples/fluids: Set up QFunction contexts in each compilation unit


# 77841947 27-May-2021 Leila Ghaffari <49916147+LeilaGhaffari@users.noreply.github.com>

Fluids - Refactor and add GPU support (#754)

* Initial commit for using PetscFunctionList in fluids example

* WIP: debugging

* Debug: initialize PetscFunctionList with NULL

* allocate memor

Fluids - Refactor and add GPU support (#754)

* Initial commit for using PetscFunctionList in fluids example

* WIP: debugging

* Debug: initialize PetscFunctionList with NULL

* allocate memory for context problem

* freed allocated memory

* WIP: fluids: split density current into new compilation unit
I have dropped last changes before this commit so there might be some
bugs

* Fixed bugs after dropping the commit containing unnecessary changes

* NS: dropped unused variable from User struct

* WIP: factored out DMAddBoundary() for density_current

* split advection and advection2d into separate compilation units as well

* fluids: added *.o to make clean

* removed bc from problemData

* style

* commented the error handlers and moved petsc options regarding the boundary conditions to each compilation unit

* call bc functions inside SetUpDM()

* Moved all bc related statements from SetUpDM() to each compilation unit

* examples/fluids/advection.h: style

* WIP: modified CeedQFunctionContexts

* FFR: By creating a struct for DC context, one of the last test crushed so I had to reverse it. This should be investigated later.

* style

* examples/navierstokes: Use heap memory for ctxSetup

* examples/fluids: WIP - reading arrays through cl options for DC is enabled by using double pointers but there is still a problem with unit conversions and also need to fix other structs

* style

* WIP: Trying to assign values to context data in each problem function

* bug: there is a problem in pointer to struct

* WIP: Everything seems to be working but it breaks and I haven't figured out the reason ...

* fixed typo

* comment out stuff that have been moved to densitycurrent.c

* WIP: The first two regression test pass. There is a problem with stabilization.

* style

* Fluids: QFContext -> Physics

* WIP: passing StabilizationType to Physics (but PETSc is not happy and it diverges for SU and SUPG)

* Initial commit for refactoring advection(2d)

* WIP: Advection is set up except for wind_type

* WIP: refactored advection2d; need to fix the BCs for translation and also passing implicit to advection correctly

* WIP: pass wind_type to all functions correctly but there is still a problem with BCs in the case of translation (changes are not applied to advection yet)

* Apply the same fixes for BCs in advection

* Fluids - Refactor: Moved warnings to advection(2d)

* Fluids - Refactor: remove dead code

* Fluids - Refactor: Move *.h to /qfunctions and *.c to /src

* style

* Fluids - Refactor: drop the supg regression test for now

We need to debug SU/SUPG for density_current. The test does not work.

* Fluids - Refactor: Fixed the double-pointer issue

* Fluids - Refactor: Assign ctxSetup->time = 0 inside each problem's *.c

* Fluids - Refactor: make implicit a member of Physics

* Fluids - Refactor: Add warning for the usage of explicit and supg

* Some comments and naming

* Merge main after v0.8 (#723)

* Fluids - Five regression tests added for euler_vortex

* Fluids - Drop some of the regression tests for now (Needs to get fixed)

* Fluids - Moved all functions to their corresponding source files

* Fluids - move problem source files to /problems

* Fluids - drop dead regression test reference files

* Fluids - more consistent file names

* Fluids - drop dead code and comments

* Fluids - removed CreateVectorFromPetscVec() since it was only used once

* Fluids - created AppCtx for cl option variables and moved cl options to a cloption.c

* Fluids: change style of AppCtx

* style

* Fluids: /src -> /utils

* Created CreateDistributedDM() and some style

* Fluids - create RegisterProblem()

* style - minor

* style - minor

* Fluids - some more C style

* Fluids - /utils -> /src

* Fluids - create VizRefineDM() for viz_refine

* Fluids: some style and name change

* Fluids - style

* Fluids - remove the second ceed initialization

* Fluids - Created CeedData and SetupLibCEED()

* Fluids - create SetupContextForProblems()

* Fluids - Assign structs after they are created

* Fluids - style, minor

* Fluids - created RegressionTests_NS

* Fluids - created GetError_NS()

* Fluids - created PrintOutput_NS()

This processes bash output except for the problem summary which will be
included after mem_type is managed properly.

* Fluids - remove unused variables

* Fluids - created TSSolve_NS() which creates, sets up, and solves ts

* Fluids: Fixed a bug caused by merging#714

* Fluids - style

* Fluids - created SetupICsFromBinary() for case of -continue

* Fluids - create SetBCsFromICs_NS()

* Fluids - default degree had is 1 not 2

* Fluids: clean-up

* Fluids: style - minor

* Fluids - drop redundant operation

* Fluids: clean-up SetupLibCEED()

* Fluids: style - minor

* Fluids: WIP - C style

* Fluids: style - minor

* Fluids: move ceed vector creation to SetupLibCEED()

* Fluids: WIP - clean-up CreateOperatorForDomain()

* Fluids: major clean-up in CreateOperatorForDomain()

* Fluids: style - minor

* Fluids: drop VectorPlacePetscVec()

* Fluids: move ICs_FixMultiplicity() to misc.c

* Fluids: WIP - C style

* Fluids: fix merge conflict after d63eecaab22a26d3072677a1b66c0cf77aa9009d

* Fluids: drop unused function call DMLocalizeCoordinates()

* Fluids: replace user requested memType with MemTypeP2C()

* Fluids: C style

* Fluids: Q->num_Q (Q (# qpts) and Q (global state vector) were confusing my fresh petsc config)

* Fluids: WIP - add GPU vectors

* Fluids: Fixed the memory leak caused by Physics struct

* Fluids: style -minor

* Fluids: no need for casting

* Fluids: Fix mem leak (q0_ceed had to be destroyed at the end of navierstokes.c)

* Fluids: Fixed all mem leaks

* Fluids: Set VecType for dm_hierarchy

* Fluids/doc: fix style

* Fluids: fix missing VecRestoreArray()

* Fluids: clean-up ComputeLumpedMassMatrix()

* Fluids: Cleanup ICs_FixMultiplicity()

* Fluids: WIP - cleanup setupts.c

* Fluids: style - minor

* Fluids: Create element coord ceed vector locally and drop it from CeedData

* Fluids: fix some todos

* Fluids: drop unused code for EULER BCs

* Fluids: PetscMalloc1 -> PetscCalloc1

* Fluids - Define BCs for ADVECTION(2D) for all cases without having the user specify them and change the regressions accordingly

ToDo: For some reason I can't create new regression tests for explicit scheme.

* Fluids - Define problem->print_info() for each problem

* Fluids: Shorten some problem specific command line variables & style

* Fluids - Cleanup BCs in the translation mode

* Fluids - cleanup

* Fluids - more cleanup in BCs

* Fluids - Updated doc, README, and cleanup in the code and cl options

* Fluids - add more regression tests

* Fluids - Define tolerance for the convergence test

* Fluids: include x_coord in CeedData

* wip - gpu

Revert "Fluids: include x_coord in CeedData"

I had to revert this commit since it crashes DC

* style

* Fluids - remove unused variables

* Fluids - fix unused function warnings

* Fluids - fix the remaining warnings

* Fluids - style

* Fluids - add missing licence

* Fluids - bring back contexts to the QFunction header files

* Fluids - transfer QFunctions for boundary integral to their corresponding setupgeo(2d).h header files and add description for Setup2d

* fluids - fix context data sizes

* GPU - add helper function macro

* ex - use consistent MPI info output

* GPU - improve CEED_QFUNCTION_HELPER macro, more flexible

* Fluids - turn on some gpu tests

* Fluids - bring back element coordinate to CeedData

* Fluids - cleanup

* qfunction - clean up helper function macro

* Fixed the remaining conflicts from #769 (helped-by: @rezgarshakeri)

Co-authored-by: Jed Brown <jed@jedbrown.org>
Co-authored-by: jeremylt <thompson.jeremy.luke@gmail.com>

show more ...


12