Skip to content
Snippets Groups Projects
  1. Jul 16, 2024
  2. Feb 04, 2024
  3. Feb 03, 2024
  4. Jan 25, 2024
    • Florian Atteneder's avatar
      Implement a balanced Burgers equation (!105) · a864ea1e
      Florian Atteneder authored
      * add update_test helper script
      
      * add ref test balancedburgers_kink_avmda
      
      * fix time step computation for AV method
      
      * simplify inf clipping
      
      * mda: use local instead of global speed to compute baseline av
      
      * favor likely case in if in mda computation
      
      * implement av dragging
      
      * add av_drag parameter
      
      * spice up IntergrationTests logging with colors
      
      * fix 0th order AV smoother
      
      * implement BalancedBurgers equation
      
      * fix fv stepping to also add dt to source term
      a864ea1e
  5. Jan 24, 2024
    • Florian Atteneder's avatar
      Fix time stepping for FV methods (!104) · ce264598
      Florian Atteneder authored
      * cleanup
      
      * rm old ERK evolutions
      
      * fixup fv ref tests
      
      * rename rk steppers to ode_step!
      
      * for FV methods forward dt from evolution via cache
      
      fixes mismatch in dt values that were used in the time stepper and the
      rhs functions
      the mismatch was caused by the time stepper always applying the CFL
      (and output callbacks could further shorten the proposed time step)
      eventually, this lead to wrong propagation speeds, which can be seen
      by the test results of fv_advection_sine (we expect same profile as
      initial data after two revolutions, but we actually saw 2.5)
      
      only add dt for FV evolutions
      
      * fixup kwarg forwarding in register_variables
      ce264598
  6. Jan 15, 2024
  7. Jan 12, 2024
    • Florian Atteneder's avatar
      Refactor GRHD project (!101) · 50ac5d57
      Florian Atteneder authored
      * update examples once more
      
      * remove comments
      
      * cleanup: remove codegen for now
      
      * IntegartionTests: add grhd_tov_spherical1d ref test
      
      * IntegrationTests: remove reltol from grhd_bondi_accretion test
      
      * spherical1d: fix missing shift from maxspeed computation
      
      * cleanup
      
      * make spherical1d formulation work when r=0 is included by removing potential nans in source terms by enforcing symmetry
      
      * make impose_symmetry! dispatch on project
      
      * add tov example that runs with spherical1d formulation
      
      * wip: change maxspeed implementation for tov star initial data
      
      * cons2prim: use non-zero values for rho, eps thresholds
      
      * fix: set atm density in bondi_accretion initial data
      
      * implement tov initial data for spherical1d formulation
      
      * add formulation parameter
      
      * implement rhs for FVElement and rescaled_spherical1d
      
      * implement equations for FVElement and rescaled_spherical1d
      
      * mesh: implement differentiate for FVElement
      
      * add grhd example par files
      
      * update notebooks
      
      * fix missing lapse factor in source terms
      
      * fix typos
      
      * fixup initialdata setup
      
      * derivative computation needs jacobi
      
      * rename cons2prim routines
      
      * add atmosphering to cons2prim
      
      * implement rhs! for rescaled_spherical1d formulation
      
      * specialize timespeed computation based on equations
      
      * add specialized equations for the rescaled GRHD version
      
      * implement initialdata setup for tov case
      
      * spherical accretion:make sure K, Gamma agree with loaded data
      
      * expose spectral differentiation
      
      * wrap SphericalAccretion solver into module; recompute bondi_accretion.h5 with less radial points
      
      * refactor TOV solver to use OrdinaryDiffEq
      
      * initialdata: cleanup dir
      
      * add bondi accretion as ref test
      
      * fix up loading of id file
      
      * fv_rhs: implement fv_update_step! with source term
      
      * add ROOTDIR const global so that parfiles can specify paths relative to project root
      
      * update SphericalAccretion.jl
      
      * update sympy nb
      
      * cleanup initialdata setup
      
      * equations: fix up Tmunu computation
      
      * Revert "fix source term in dg and fv rhs computation"
      
      This reverts commit 161cc034.
      
      * Replace Interpolations.jl with BasicInterpolators.jl
      
      * equation: add missing flux terms to sources; use outflow bdry condition on inner radius
      
      * comments in cons2prim
      
      * implement momentum constraint for debugging
      
      * test SphericalAccretion
      
      - copy Bugner's C version of the solver
      - compare my results with Bugner's -- good agreement
      - compare against literature results (Papadopoulos 1998,1999) --
        discrepancy in sign of vr, ur, otherwise good agreement
      
      * SphericalAccretion: fix wrong definition of uc^r and Vc
      
      * tweak impl more
      
      * fix source term in dg and fv rhs computation
      
      * fix equations and implement fv method
      
      * equations: combine flux and source computation
      
      * math: update spherical_accretion notebook
      
      * SRHD: export module
      
      * re-implemented GRHD eqs with a non-zero shift
      
      * initialdata: add grhd_source.codegen.jl that was generated with TensorComponents.jl
      
      * deps: need Interpolations.jl for initial data setup
      
      * update math/spherical_accretion.py
      
      * update setup
      
      * start initialdata setup for bondi problem
      
      * rework rhs.jl
      
      * update deps and parameters
      
      * update type defs
      
      * initialdata: add HDF5 dep; write h5 output for SphericalAccretion.jl
      
      * rename cons2prim.jl
      
      * remove unused files
      50ac5d57
  8. Jan 06, 2024
  9. Dec 31, 2023
    • Florian Atteneder's avatar
      Remove getproperty overloads for Meshes (!98) · 50c5f4a9
      Florian Atteneder authored
      * remove Base.getproperty overloads for meshes
      50c5f4a9
    • Florian Atteneder's avatar
      Optimize allocations (!97) · e7f5d1c5
      Florian Atteneder authored
      * fixup Base.length definition for Mesh
      
      * fix unit tests
      
      * add the mesh arg (second_arg) as an ordinary argument into with_signature fn signature; also remove unused state_indices interface method
      
      * remove mesh kw from with_signature function signature
      
      * temporarily disable @timeit around broadcast_computation, because it introduces allocs
      
      * inline fn call in broadcast_computation to avoid allocs
      
      * use views and maximum(abs, ...) to avoid allocs
      
      * make min_grid_spacing dimension agnostic for FVElement
      
      * inline mesh helpers
      
      * more let arguments, just in case closure bug hits again ...
      
      * stop using properties of mesh
      
      * don't use absolute_maximum
      
      * parameterize Project on equation
      e7f5d1c5
    • Florian Atteneder's avatar
      Use Roots.jl instead of custom root finders (!96) · cf7b7810
      Florian Atteneder authored
      * remove rootfinders.jl and update unit tests
      
      * remove my rootfinder types
      
      * rework SphericalAccretion to use CairoMakie.jl and Roots.jl
      cf7b7810
    • Florian Atteneder's avatar
      Cleanup Variables interface (!95) · 96c349ae
      Florian Atteneder authored
      * remove variablesarray.jl; rename _VariablesDict to Variables
      96c349ae
  10. Dec 30, 2023
    • Florian Atteneder's avatar
      Refactor unit test (!94) · 1f49b0ed
      Florian Atteneder authored
      * fix up readme badges
      
      * update line coverage computation
      
      * remove unused tests: test_variables.jl
      
      * update coverage exclude patterns
      
      * rename project dg1dTests to UnitTests
      
      * remove BenchmarkTools from dg1dTests deps
      
      remove BenchmarkTools
      1f49b0ed
    • Florian Atteneder's avatar
      remove legacy option form @with_signature (!93) · 9b9810fe
      Florian Atteneder authored
      * rename new_broadcast_... to broadcast_...; also export broadcast_... methods
      
      * eliminate legac=false option
      
      * remove legacy option form @with_signature
      
      fixup default options
      
      * disable with_signature functions that used legacy version
      
      * evict all occurences of broadcast_(volume|faces|bdry)_2!
      9b9810fe
    • Florian Atteneder's avatar
      parameterize structs that contain an abstract Mesh (!92) · 4325e030
      Florian Atteneder authored
      * parameterize structs that contain an abstract Mesh
      4325e030
    • Florian Atteneder's avatar
      make shock tube and blast wave tests run for SRHD when using MDA AV (!91) · d7d9f647
      Florian Atteneder authored
      * update ref test data srhd_simple_wave_avmda
      
      * fix up dispatch of register_variables; fix up smoothing on initial data
      
      * mda: use inplace operations
      
      * cons2prim: disable simd; disable atmosphering warning
      
      * update blastwave1/2 av mda examples
      
      * adjust tau when energy density exceeds lower bound
      
      * don't recompute max speed for timestep
      
      * determine initial viscosity using all dynamic variables as indicators
      
      * add blastwave1 example
      
      * add blastwave2 examples
      
      * fixup blastwave2 test; don't smooth FVElement mesh initial data
      
      * commit conservative_fixing experiments (not active)
      
      * cons2prim: temporarily error in case speed is too large
      
      * disable conservative_fixing again
      
      * change fixedprms in setup
      
      * fix domain assertion for blastwave1 test
      
      * add initial data smoother based on Bernsteining
      
      * do not recompute viscosity on initial data
      
      * modify examples
      
      * implement fd derivative again
      
      * implement covariant regularization
      
      * add prms to Project type
      
      * add example parfiles
      
      * update ref test data srhd_simple_wave_fv
      
      the difference is quite pronounced
      
      * use maximum of max_v instead of v for time step estimation
      
      * update ref test data srhd_simple_wave_avmda
      
      * compute cellmax_v properly; compute maxspeed in equation callback
      
      * implement sod shock tube initial data
      d7d9f647
  11. Dec 24, 2023
  12. Dec 19, 2023
    • Florian Atteneder's avatar
      Fix entropy residual computation in SRHD (!89) · a0a40a16
      Florian Atteneder authored
      * add ref test srhd_simple_wave_avmda
      
      * undo some code deletion
      
      * special case FV method on entropy production computation
      
      * init EP for all setups
      
      * add entropy tci computation that can work with precomputed entropy production
      
      * add entropy viscosity computation that can work with precomputed entropy production
      
      * compute entropy production in equation callback
      
      * add ref test srhd_simple_wave_fv
      
      reset ref data for srhd_simple_wave_fv
      a0a40a16
    • Florian Atteneder's avatar
      Implement FV scheme for SRHD in 1d (!88) · e9e309a1
      Florian Atteneder authored
      * update ref test
      
      increase resolution ref test
      
      increase tol for ref test and lower resolution
      
      * add ref test srhd_simple_wave_fv
      
      * implement FV version for SRHD eqs
      
      * simplify timestep computation
      
      * initial data setup functions need to take a mesh
      e9e309a1
  13. Dec 18, 2023
    • Florian Atteneder's avatar
      Migrate ScalarEq to use new broadcasting interface (!87) · 24209b41
      Florian Atteneder authored
      * fixup speed computation burgers eq
      
      * fix upload logic for diffoutput uploading
      
      * update ref test data
      
      * migrate all implementations to use new broadcasting interface
      
      * evict broadcast_volume_2!
      24209b41
    • Florian Atteneder's avatar
      Various improvements to SRHD project (!86) · 84bfa1ff
      Florian Atteneder authored
      * remove cons2prim unit test
      
      * add srhd_simple_wave.toml
      
      * update ref test burger_sine_aventropy
      
      * undo experiments in ev.jl
      
      * undo changes to advection_sine ref test
      
      * fix up entropy production computation
      
      * fix entropy variables computation according to formulae from EFL and EHL papers
      
      * WIP
      
      * make AV regularization run
      
      * disable conservative fixing as it causes wrong results in srhd_smooth test; update ref test data
      
      * evict old broadcasting interface
      
      * define entropy variables for polytrope
      
      * compute fluxes after interpolating bdry data
      
      * optimize mda computation
      
      * fix ramping function for mda
      
      * enable conservative_fixing every to make ref tests pass -- however, ref test restults don't look correct
      
      update srhd_smooth ref test data
      
      * move cons2prim in rhs down
      
      * use only D as HRSC indicator
      
      * fix simple wave initial data and disable conservative fixing as it
      kills the simple wave propagation
      
      * make bdry conditions work for shock tube test
      
      * document print_idxs for @with_signature
      
      * add mda_n_low, mda_n_high parameters that allow to control the truncation interval for the MDA heuristic
      
      * fix logic in combining mda indicators from multiple vars
      
      * enable TCIs for SRHD
      
      * SRHD: allow to compute MDA AV from multiple vars and combine them with a max function
      
      * SRHD: make srhd_smooth test run with AV (though not perfect)
      
      * SRHD: add ldg_nflux
      
      * update ref test srhd_smooth
      
      * add more srhd parfiles
      
      * split conservative fixing from cons2prim; fixup cons2prim so that symmetric shock tubes are actually symmetric
      
      * update 0th order smoother
      
      * compute viscosity for initial data
      
      * use mix of conserved and primitives for flux computation
      
      * cleanup equations
      
      * cleanup cons2prim
      
      * implement av entropy for 1d eq -- wip
      
      * utilize kastaun cons2prim in llf
      
      * remove cons2prim_insane and friends
      
      * fix type instability in cons2prim caused by infamous closure bug
      
      fixup cons2prim
      
      * add Kastaun's cons2prim with conservative fixing
      
      * rename variables
      
      * remove comment
      
      * convert llf to use new broadcasting interface
      
      * convert cons2prim to new broadcasting
      
      * convert entropy_variables, but it is todo
      
      * remove unused
      
      * convert flux to new broadcast interface
      
      * convert speed to new broadcast interface
      
      * clean up module file
      84bfa1ff
  14. Dec 14, 2023
    • Florian Atteneder's avatar
      Update ref test configs to all use `aligned_ts` (!85) · 85494a05
      Florian Atteneder authored
      * update euler_isentropic_flow ref test to use interpolate_aligned_ts
      
      * reorganize testconfig.toml
      
      * update advection_sine_glgl ref test to use interpolate_aligned_ts
      
      * update advection2d_bump_threshold ref test to use aligned_ts
      
      * remove unused toml files
      
      * fix testparfiles to not list global options
      
      * update heateq_sine ref test to use aligned_ts
      
      * update burgers2d_gaussian_entropyav ref test to use aligned_ts
      
      * update burgers2d_gaussian ref test to use aligned_ts
      
      * update srhd_smooth ref test to use aligned_ts
      
      * update euler_isentropic_flow ref test to use aligned_ts
      
      * update advection2d_sine ref test to use aligned_ts
      
      * update fv_euler_isentropic_flow ref test to use aligned_ts
      
      update output.h5
      85494a05
    • Florian Atteneder's avatar
      Allow `IntegrationTests` to also use `interpolate.h5` for comparison (!84) · 3103328c
      Florian Atteneder authored
      * fixup success check
      
      * add interpolate.h5 output for heateq_gaussian ref test
      
      * use aligned_ts for heateq_gaussian ref test
      
      * update ref test advection_sine to include interpolate.h5 output
      
      * upgrade IntegrationTests to also compare interpolate.h5 outputs (if available)
      3103328c
    • Florian Atteneder's avatar
      Fix `TimeAlignedSaveCallback` triggering (!83) · c269439a
      Florian Atteneder authored
      * remove whitespaces
      
      * use mktempdir instead of custom mockdir gymnastics
      
      * trigger a TimeAlignedCB also when t+dt == next_t
      c269439a
    • Florian Atteneder's avatar
      add InterpolationCallback (!82) · 1f043a50
      Florian Atteneder authored
      * InterpolationCallback can only interpolate fields that are registered as dynamic, static or rhs
      
      * add check for registered variable in get_variable
      
      * add a few @inline decorations
      
      * add isregistered method to cache and variablesdict types
      
      * throw proper error message when unregistered variable is requested
      
      * add test for InterpolationCallback
      
      * fixup callback interface docs
      
      * enable interpolation options of Output parameter section
      
      * add parameters for interpolation output
      
      * fixup InterpolatioCallback
      
      * Invocation of CallbackSet should report the call status
      
      I think initially the return value of all callbacks was meant
      to indicate whether that callback was actually called.
      I think what we need now is that callbacks return their status,
      e.g. whether they failed or not.
      
      * remove superfluous Base.show overloads
      
      * add InterpolationCallback
      
      use refactored meshinterpolator
      
      * introduce AbstractSaveCallback
      1f043a50
    • Florian Atteneder's avatar
      evict old plot functionality (!80) · 53791f4a
      Florian Atteneder authored
      * update tests
      
      * evict old plot functionality
      
      evict remainders
      53791f4a
    • Florian Atteneder's avatar
      Refactor MeshInterpolator (!81) · 39a5ff9a
      Florian Atteneder authored
      * update dg1dTests manifest
      
      * refactor MeshInterpolator to accept arrays for interpolation
      
      * use ranges to construct the cells' extends, because they ensure that the endpoints are preserved
      39a5ff9a
    • 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
  15. 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
  16. 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
Loading