Revision Date Author Comments
# 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 ...