Revision Date Author Comments
# 6249180f 04-Mar-2024 James Wright <james@jameswright.xyz>

Merge pull request #1496 from CEED/jrwrigh/ksp_mass

Fluids: Fix mass operator for explicit timestepping, move to KSP for mass operator


# 0f2fa9b4 03-Mar-2024 James Wright <james@jameswright.xyz>

fluids: Fix mass matrix for explicit time stepping

The local vector should be initialized to zero so that all the essential
nodes (ie. strong boundary condition nodes) are not factored in for the
ma

fluids: Fix mass matrix for explicit time stepping

The local vector should be initialized to zero so that all the essential
nodes (ie. strong boundary condition nodes) are not factored in for the
matrix multiply. The PR associated with this commit should have a
document attached detailing why this is the case.

Previous tests used this incorrect mass matrix and so now fail. The
results for these tests are corrected as well.

show more ...


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


# dc8efd83 31-Mar-2021 Leila Ghaffari <49916147+LeilaGhaffari@users.noreply.github.com>

Fluids - More Regression Tests (#687)

* examples/fluids: Regression tests: Changed the reference files' names and
the flags to associate with the corresponding example (so far
density_current only

Fluids - More Regression Tests (#687)

* examples/fluids: Regression tests: Changed the reference files' names and
the flags to associate with the corresponding example (so far
density_current only)

Changed the files' names

Changed the flags

* examples/fluids: added new regression tests for advection(2d)

* examples/fluids: regression tests: removed the enums and passed defined command-line options for filepath and test tolerance.
Removed solver controls and assigned testtol=1E-11 for explicit cases.

style

examples/fluids: regression tests: fixed the pathfile issue (it needs to be relative)

examples/fluids: Specified a name for each test

examples/fluids: TESTARGS - trying absolute path for the test files

* tests/tap.sh: Print out test names for fluids examples

inspired-by: @jeremylt

tests/tap.sh: drop quotation marks from the printed test names

* tests: specify test name for ceed and nek examples and print the names when there are multiple test arguments

* examples/fluids: remove test_ from test names

* style

* tests/junit.py: Add name for tests with multiple test cases

* examples/ceed/ex1-volume.c: make the naming of the tests consistent

* tests/junit.py: a more compact if statement

helped-by: @jeremylt

* examples/fluids: drop the broken supg test of density_current for now

The stabilization enum is not passed to density_current QFunction hence
the test doesn't work. We need to create a new test when the code is
debugged.

show more ...