Skip to content
Snippets Groups Projects
  1. Dec 14, 2023
    • Florian Atteneder's avatar
      Implement Navier-Stokes regularizations for Euler eq (!79) · fd8ac840
      Florian Atteneder authored
      * add sod_shock_tube examples
      
      * add examples mono and navier-stokes regularization of euler_isentropic_flow problem
      
      * remove dead code
      
      * update ref test burgers_sine_aventropy
      
      * undo deletion
      
      * remove dead code
      
      * beautify log details when unequal number of output times is encountered
      
      * refactor printing of failed test details
      
      * im in a rush
      
      * fix ref test log info
      
      * remove unused var
      
      * revert callbacks
      
      * add invalid assertion in glgl integration method
      
      * remove bernsteining from AV regularization
      
      * add 0th order smoother
      
      * remove lower threshold on entropy av
      
      * wip -- tinker with applying Bernsteining to the LDG variables
      
      * also forward project to rhs
      
      * remove unnecessary computations from callback
      
      * put lower threshold on entropy AV
      
      * inline bernsteining workhorse
      
      * use inplace ops for entropy TCI
      
      * add ref test fv_euler_isentropic_flow
      
      * fixup hrsc initialization for EulerEq
      
      * fix args for Project constructor
      
      * update deps; put compat bound on PrettyTables.jl
      
      * add ref test euler_isentropic_flow_regulate-ns -- disabled for now
      
      * add dispatch for av regularization in rhs!; wip implementation of new regularizations
      
      * add a namedtuple for parameters to Project struct
      
      * fix call to broadcast in callbacks.jl
      
      * add av_regularization parameter
      
      * dispatch TODO on Symbol
      fd8ac840
  2. Dec 11, 2023
    • Florian Atteneder's avatar
      Test if FD approximation of AV derivative term can improve things (!78) · 9ab794e1
      Florian Atteneder authored
      * IntegrationTests: print Inf norm if mismatch is found
      
      * update refdata burgers_sine_avmda
      
      * update refdata burgers_sine_avdb
      
      * update refdata burgers_sine_aventropy
      
      * update refdata burgers_sine_avtci
      
      * fixup constructor call
      
      * more examples
      
      * update output times; fixup gitignore
      
      * utilize Sandbox to parse expressions from parfiles
      
      * fixup ScalarEq bump initial data
      
      * add examples folder with parfiles that are not ref tested
      
      * specialize timestep for AV scheme
      
      * implement 1st order fd approx for derivative of regularization term
      
      * enable callbacks
      
      * add prms field to ScalarEq's project struct
      
      also add av_derivative_scheme parameter to ScalarEq project
      to be used subsequentely
      
      * simplify dispatch of rhs!
      9ab794e1
  3. Dec 06, 2023
    • Florian Atteneder's avatar
      implement FV method for Euler equation (!77) · a5f246be
      Florian Atteneder authored
      * update some ref tests
      
      - euler_isentropic_flow
      - euler_sod_shock_tube_bernstein
      needed because previously we employed a timestep that was too large,
      because it only used the local cell width but not the smallest grid
      spacing
      
      * add ref test for FV euler sod shock tube
      
      * update ScalarEq so that FV version can use non-periodic bdry conditions
      
      * implement FV method for Euler equation
      
      - also refactor timestep to work with DG and FV elements
      - also refactored fv_update_step! methods to now accept buffers for bdry
        values
      a5f246be
    • Florian Atteneder's avatar
      Evict RiemannSolver interface (!76) · 8c450bb9
      Florian Atteneder authored
      * remove more Riemann solver stuff
      
      * remove non-existent export
      
      * evict riemannsolver.jl and broadcast_[volume,faces,bdry]!
      
      * evict Riemann solver related stuff from SRHD
      
      * evict Riemann solver related stuff from EulerEq
      
      * evict Riemann solver related stuff from ScalarEq
      
      * convert all in EulerEq
      
      remove unrelated file
      
      * convert all in ScalarEq
      
      * re-enable srhd_smooth test
      
      update srhd_smooth reftest
      
      * evict old broadcasting methods
      8c450bb9
  4. Dec 05, 2023
    • Florian Atteneder's avatar
      Merge branch 'fa/fv' into 'main' · ba310be2
      Florian Atteneder authored
      Add a finite volume method for ScalarEq
      
      See merge request !75
      ba310be2
    • Florian Atteneder's avatar
      Add a finite volume method for ScalarEq (!75) · 5a594e69
      Florian Atteneder authored
      * add reftest fv_advection_sine
      
      * migrate all of ScalarEq to use broadcast_*_2! methods
      
      * add isperiodic method for meshes
      
      * fix grid spacing computation for SpectralElement
      
      * fixup parametric types to subtype Mesh1d/2d
      
      * make TODO error more comprehensive
      
      * fixup cfl usage; add abstractions for min grid spacing
      
      * enable add mesh kwarg to Evolution setup in order to enable FV evolution
      
      * add timestep! and rhs! for FVElement
      
      * do away with the State(...) syntax
      
      * add docs to dg_rhs methods
      
      * add FV stepper
      
      * limit dg_rhs.jl methods to Meshes with SpectralElement
      
      * add mesh kwarg to Evolution so that we can use a spearate stepper based on mesh type
      
      * add a scheme parameter to Mesh
      
      * add FVElement type
      5a594e69
    • Florian Atteneder's avatar
      Merge branch 'fa/refactor-cfl' into 'main' · 5ad99e58
      Florian Atteneder authored
      Refactor CFL parameter usage
      
      See merge request !74
      5ad99e58
    • Florian Atteneder's avatar
      Refactor CFL parameter usage (!74) · c7e42113
      Florian Atteneder authored
      * fix tests
      
      * remove an unreachable check
      
      can't be reached, because a error would be thrown earlier
      when multiplying a number with nothing
      
      * remove cfl field from Evolution struct
      
      * move cfl parameter from Mesh to Evolution section
      
      also update all reftest parfiles
      
      * remove CFL field from Mesh
      
      * apply CFL factor in evolve loop and not inside projects
      c7e42113
    • Florian Atteneder's avatar
      Merge branch 'fa/fix-smoother' into 'main' · b7d83f61
      Florian Atteneder authored
      call the right interpolator for HRSC/smoother.jl
      
      See merge request !73
      b7d83f61
    • Florian Atteneder's avatar
      call the right interpolator for HRSC/smoother.jl (!73) · 151b1231
      Florian Atteneder authored
      * call the right interpolator
      151b1231
  5. Dec 04, 2023
  6. Nov 30, 2023
  7. Nov 29, 2023
    • Florian Atteneder's avatar
      Merge branch 'fa/evolve-in-steps' into 'main' · 9a89267d
      Florian Atteneder authored
      Stepper for time evolution
      
      See merge request !67
      9a89267d
    • Florian Atteneder's avatar
      Stepper for time evolution (!67) · eebcd97e
      Florian Atteneder authored
      * fix evolve! by wrapping stepper result also in callback
      
      previously we copied the stepper's result into the initial data buffer
      but now we just swap the vectors
      we now push a wrapper for the dynamic state vector (like we also use it
      for the rhs_fn, timestep_fn) to the fullstep callback so that we don't
      have to do the wrapping in projects
      
      * teach pushfirst to CallbackSet
      
      * avoid adding cfl twice
      
      * disable the timestep-retaking tests as they are now deprecated
      
      * grab cfl parameter from mesh parameters
      
      * fix while condition to be aware of symbol return values
      
      * fix up evolve test
      
      * fix time stepping with Evolution type
      
      - make a copy of initial data to initialize up1, because
        we need to allocate memory anyways and the stepper will also swap it before
        stepping
      - apply cfl to timestep
      
      * fix construction of Evolution type
      
      - fix sanity checks for callbacks
      - add sanity check for cfl
      - introduce TimeStepAlgorithm super type and move all algorithm
        types into types.jl
      - add docstring to Evolution type
      - update tests
      
      * update unit tests
      
      * introduce a state full type Evolution so that we can evolve step by step
      eebcd97e
  8. Nov 27, 2023
    • Florian Atteneder's avatar
      Merge branch 'fa/fix-ci' into 'main' · 5f5fae50
      Florian Atteneder authored
      Fix CI
      
      See merge request !66
      5f5fae50
    • Florian Atteneder's avatar
      Fix CI (!66) · e19d58ac
      Florian Atteneder authored
      * fix undef var
      
      * fix vector signature
      
      * try to capture and log full backtrace in ref tests
      
      * revert some changes
      
      * ignore v2.2.3 in PrettyTables in IntegrationTests
      
      * what is the real error we see?
      
      * wrap parameter printing into try-finally, because PrettyTables.jl causes the CI to crash here
      
      * also upload errors.log
      
      * log the captured error to a file
      
      * also resolve before running ref tests
      e19d58ac
  9. Nov 16, 2023
  10. Nov 13, 2023
  11. Oct 25, 2023
  12. Sep 12, 2023
    • Florian Atteneder's avatar
      Merge branch 'fa/migrate-euler2d' into 'main' · 2b807e16
      Florian Atteneder authored
      Migrate all of EulerEq project to use new boradcasting methods
      
      See merge request !59
      2b807e16
    • Florian Atteneder's avatar
      Migrate all of EulerEq project to use new boradcasting methods (!59) · f4feb55d
      Florian Atteneder authored
      * remove t=0.6 output step from euler_sod_shock_tube_entropyav reftest
      
      * rename euler_sod_shock_tube test to euler_sod_shock_tube_bernstein
      also set `every_dt = 0` for ref test parfile
      
      * migrate rest of Euler 1d + AV to use new broadcasting
      
      * fixup new_broadcast_bdry and test it with 1d + AV method
      
      * ref test euler_sod_shock_tube_entropyav: crank up CFL
      
      * enable output checking for euler_sod_shock_tube test
      
      * add ref test euler_sod_shock_tube_entropyav
      
      * migrate 1d + AV method
      
      * fixup migration of 1d eqs
      
      * strip new_ from new 2d equations
      
      * implement interpolate_face_data! for 1d mesh; migrate llf for 1d mesh
      
      * migrate 1d equations to use new broadcasting, pt 1
      
      * clean up more equations
      
      * convert entropy variables computation and maxspeed
      to use new broadcast interface
      
      needed to update 2d ref tests, because somehow changing
      speed computation showed massive differences in ref output
      
      * use new broadcasts for other 2d rhs
      
      * ref test: use aligned_ts for euler2d isentropic
      
      * use new broadcast for 2d + AV method
      
      * add klevin helmholtz as ref test
      
      use aligned_ts for output times
      f4feb55d
  13. Sep 11, 2023
    • Florian Atteneder's avatar
      Merge branch 'fa/new-broadcasting' into 'main' · cde3dd24
      Florian Atteneder authored
      New broadcasting methods based on face-buffer abstractions
      
      See merge request !58
      cde3dd24
    • Florian Atteneder's avatar
      New broadcasting methods based on face-buffer abstractions (!58) · b74bbc4f
      Florian Atteneder authored
      * wrap new_broadcast_* methods into TimerOutput
      
      * Add LV to optimize `dg_rhs` loops v2 (!57)
      
      * prefer @turbo over mul! in dg_rhs.jl
      
      * test mul! instead of @turbo for mass matrix applicationg
      
      * don't use mapreduce for 2 arg absmax
      
      * allow using Cart[1d,2d,3d].[Directions,Axis] as tuple indices
      
      * wrap broadcast_[volume,faces]_2! into global timer
      
      * split up turbo loops due to limitation of single inner loops in LV; see discussion LV.jl/issues/506
      
      * accelerate dg rhs evaluation using LoopVectorization.jl
      
      * put new_broadcast_[volume,faces] to use in EulerEq2d
      
      * introduce bulkfaceindices, bulkbdryindices to work with faceindices, bdryindices; implement face interpolation method
      
      * make has_signature also dispatch on Type
      
      * add print_idxs option to @with_signature
      
      * add faceindices, bdryindices to Mesh; implement broadcasting for volume, faces, bdry
      b74bbc4f
  14. Sep 10, 2023
    • Florian Atteneder's avatar
      Merge branch 'fa/opt-dg-rhs-3' into 'main' · 5b8c432c
      Florian Atteneder authored
      Add LV to optimize `dg_rhs` loops v2
      
      See merge request !57
      5b8c432c
    • Florian Atteneder's avatar
      Add LV to optimize `dg_rhs` loops v2 (!57) · 4e68f8c7
      Florian Atteneder authored
      * prefer @turbo over mul! in dg_rhs.jl
      
      * test mul! instead of @turbo for mass matrix applicationg
      
      * don't use mapreduce for 2 arg absmax
      
      * allow using Cart[1d,2d,3d].[Directions,Axis] as tuple indices
      
      * wrap broadcast_[volume,faces]_2! into global timer
      
      * split up turbo loops due to limitation of single inner loops in LV; see discussion LV.jl/issues/506
      
      * accelerate dg rhs evaluation using LoopVectorization.jl
      4e68f8c7
Loading