Skip to content
Snippets Groups Projects
  1. 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
  2. Jan 06, 2024
  3. 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
  4. 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
  5. Dec 24, 2023
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. Dec 04, 2023
  13. Nov 30, 2023
Loading