Menu

#194 Fix in-between state of half-initialized propagator primitives

0.4
done
nobody
None
nobody
2024-05-09
2020-05-24
Ulf Lorenz
No
What and Why

The propagator primitives are currently set up in two steps. First they are created, then they are usually assigned to a Propagator instance, where they also get their timestep from. In-between these two steps, they are in some half-setup limbo where they cannot be used correctly. This should be fixed.

  • Suggestion: Make a factory for each propagator primitive; the normal arguments set up the factory, when you also give the timestep, you get a primitive.
  • Suggestion: Move the timesteps to the primitives.

Priority is rather low, but since this is a code cleanup issue that does change the interface, I put it into the 0.4 target.

A similar issue occurs in other contexts, e.g., DVROperator derived classes, grid classes. Are there also patterns to simplify these?


I chose the simpler approach presented here where the timestep becomes an argument of the solver constructors. The DVROperator issue has very low priority because it is not user-visible and has been deferred to [#251].

Related

Tickets: #251

Discussion

  • Ulf Lorenz

    Ulf Lorenz - 2020-07-25
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -6,3 +6,5 @@
     * Suggestion: Move the timesteps to the primitives.
    
     Priority is rather low, but since this is a code cleanup issue that does change the interface, I put it into the 0.4 target.
    +
    +A similar issue occurs in other contexts, e.g., DVROperator derived classes, grid classes. Are there also patterns to simplify these?
    
     
  • Ulf Lorenz

    Ulf Lorenz - 2024-04-01
    • Milestone: 0.5 goal --> 0.4
     
  • Ulf Lorenz

    Ulf Lorenz - 2024-04-01
    • status: open --> assigned
    • assigned_to: Ulf Lorenz
     
  • Ulf Lorenz

    Ulf Lorenz - 2024-05-09
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -8,3 +8,7 @@
     Priority is rather low, but since this is a code cleanup issue that does change the interface, I put it into the 0.4 target.
    
     A similar issue occurs in other contexts, e.g., DVROperator derived classes, grid classes. Are there also patterns to simplify these?
    +
    +----
    +
    +I chose the simpler approach presented here where the timestep becomes an argument of the solver constructors. The DVROperator issue has very low priority because it is not user-visible and has been deferred to [#251].
    
    • status: assigned --> done
    • assigned_to: Ulf Lorenz --> nobody
     

    Related

    Tickets: #251


Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.