fluids - fix flux Jacobian and add su/supg to euler_vortex
qf - drop unneeded guards on math.h
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 ...
12345678910