Skip to content

Modularize thermodynamics #120

Open
Open

Description

@benegee

We have many different compressible Euler equation systems in Trixi.jl and TrixiAtmo.jl by now. It would be good to have a common structure and modularize the thermodynamic components such that they could be easily swapped out.

Activity

  1. MarcoArtiano commented on Oct 24, 2025

    @MarcoArtiano
    Collaborator

    That might also concern the initial conditions. If they are given in terms of the primitive variables, then we do not need to specify and repeat the initial conditions for each set of equations. For example, right now the baroclinic instability has duplicate functions for CompressibleEulerPotentialTemperatureEquationsWithGravity3D and CompressibleEulerEnergyEquationsWithGravity3D.

  2. benegee commented on Oct 28, 2025

    @benegee
    CollaboratorAuthor

    Absolutely right!
    @tristanmontoya already made some suggestions:

    • implement reference states / initial conditions in a central place
    • settle on a set of variables, maybe primitive
    • in elixirs call transform_initial_condition to transform to the set of variables to the ones actually used
      (this additional step might just be a call to prim2cons, but is required for the covariant solver, where there is more work to do)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions