Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: kotik-coder/PULsE
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.94
Choose a base ref
...
head repository: kotik-coder/PULsE
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.95
Choose a head ref
  • 3 commits
  • 115 files changed
  • 1 contributor

Commits on Jun 6, 2022

  1. Major Changes and Fixes

    #LinearAnisotropicPF
    - Changed reference from ParticipatingMedium to ThermoOpticalProperties
    - function(...) : replaced calculation with cosineTheta(i,k) call
    
    #CurveEventType
    - Added CALCULATION_FINISHED event type
    
    #DataEvent
    - Replaced reference to ExperimentalData with a more general reference
     to AbstractData
    	
    #NetzschPulseCSVReader
    - Added locale support
    
    #SampleName
    - A default sample name of null is used, in order to avoid having too
    many 'Nameless' calculations
    
    #TridiagonalMatrixAlgorithm
    - Instead of holding a reference to the Grid object, the fields tau, 
    N and h are now added
    - As the instance of this class is created just before the calculation
    starts, it does not need to reference Grid
    
    #ResultTableModel
    - Better handling of average results vs individual results 
    - Average result now ignored when checking for previously calculated 
    results of a task. This was done because an average result is not assigned 
    to a task, therefore, it returns null when searching for a SearchTask 
    ancestor. This led to a NullPointerException previously, but now has been 
    fixed.
    
    #ProblemToolbar
    - Replaced unnecessary SingleThreadExecturo with a direct call to the 
    plot (...) method
    
    #DataLoader
    - Added missing .incrementProgress() call when loading pulse data
    
    #Problem 
    - Removed unnecessary check c.isIncomplete() for ExperimentalData when 
    applying baseline-
    - Changed availableSolutions() to accomodate for possible multiple 
    application of a single solver
    - Improved confusing assignments in the optimisationVector(...) method
    - Fixed error: assign(...) -> changed .get(...) to inverseTransform(...)
    - Consequently, made sure that this latter value is referenced by the 
    setter methods
    - Removed shortName(...) method
    - Removed conditional statement prior to applying baseline in 
    setBaseline(....)
    
    #Discretisation
    - Switched to ThermoOpticalProperties reference
    
    #HeatingCurve
    - Added lastCalculation(...) array to store last successful calculation
    - Added copyToLastCalculation()
    - apply(Baseline) now only works for a positive size of the time sequence
    
    #ADILinearisedSolver
    - Added an overriden clearArrays() method for array init purposes
    - Removed array initialisation from prepare(...)
    - prepare() now publicly overrides superclass method
    
    #ImplicitScheme
    - Removed unnecessary final int m argument from several methods
    
    #MixedLinearisedSolver
    - Changed scheme to accomodate the additional zeta parameter for 
    rear-side parasitic heating
    - Added an overriding pulse(...) method
    - Changed firstBeta(...)
    
    #ImplicitLinearisedSolver
    - Removed unnecessary call to super.pulse(...)
    
    #General changes:
    - Added zeta to 1D Classical, Diathermic and ParticipatingMedium problems. 
    Zeta serves to simulate a possible rear-surface heat source, either due
     to beam deflection or circumferential conduction
    
    #DiathermicMedium
    - Bounds in optimisationVector(...) for the DIATHERMIC_COEFFICIENT have
     been changed from arbitrary valueto those initially set in the xml document
    - Removed constraint on the diathermic coefficient for curves having 
    pre-loaded property tables
    
    #DiscreteOrdinatesMethod
    - Replaced references to Problem with ThermoOpticalProperties where possible
    
    #RadiativeTransferCoupling
    - Added a safety check to init(...) to avoid potential handling of 
    unsupported problems
    - Changed signature of newRTE method
    
    #ExplicitCoupledSolver
    - Added an overriding timeStep(...) method, which redirects to 
    explicitSolution(...)
    - Changed finaliseStep() overriding method. If the fluxes are auto-updated, 
    computes the solution to the RTE. After that, stores the fluxes. 
    - Added autoUpdatesFluxes capability and the zeta factor
    - Removed unnecessary RTE calculation before main sequence started
    - Removed pls accessor, which is defined in the superclass. Instead, 
    replaced with a getCurrentPulse() method
    
    #Chart 
    - Removed unnecessary call in the conditional statement of a for loop to 
    .isIncomplete()
    
    #GradientGuidedOptimisation
    - Replaced the body of the catch block in configure(...) by a call to 
    notifyFailedStatus() in the SearchTask
    
    #ThermoOpticalProperties
    - Made this class implement the Optimisable interface and moved all 
    property assignments from ParticipatingMedium to this class
    
    #Pulse
    - Fixed incorrect range updating after pulse changes when the lower 
    range would be shifted to a lower value automatically although a higher 
    value was set
    
    #Metadata
    - Added call to setPulseWidth after pulse data loaded
    
    #OneDimensionalScheme
    - Moved array initialisation to clearArrays() removing them from prepare()
    
    #LoaderButton
    - Added OutOfRangeException checks if thermal property table does not 
    cover a wide enough temperature range
    
    #SearchTask
    - Removed unnecessary catch clause in assign
    - Removed wrong logic in relation to maxIterations assignment and the 
    inner iteration cycle
    - Removed inefficient checks for IN_PROGRESS calculations within the 
    inner cycle
    - Added distinction between AWAITING_TERMINATION and TERMINATED statuses
    
    #DifferenceScheme
    - Added pls field as a generic place holder for the current pulse value
    - Added call to clearArrays() from inside the prepare(...) method
    - Removed maxTemp/apparentMaximum scaling to enable Cp calculation in future
    - Removed adjustment cycle from runTimeSequence. Prevented number of 
    points from being adjusted
    - Added missing prepareStep() in the timeSegment() method
    - Added the clearArrays() method
    - Somewhat more logical structure of the runTimeSequence method
    
    #ResultTable
    - Added a more informative content to the describe() method so that it 
    actually describes the sample
    
    #MixedCoupledSolver
    - Replaced private prepare() with overriden public prepare()
    - Added rear-surface heating to BCs
    - removed unnecessary arguments from evalRightBoundary
    
    #AbsorptionModel
    - Error fixed: Remvoed premature setParameterBounds() call, which 
    overrides all bounds in the vector
    
    #BlockMatrixAlgorithm
    - Fixed problem with grid density not being assigned
    
    #RectangularPulse
    - Added a required number of points threshold of 4
    
    #ImplicitTranslucentSolver
    - Removed superfluous fields 
    - Replaced pls with reference to getCurrentPulse()
    - Removed unnecessary timeStep() overriding
    - Removed redundant parameter arguments
    
    #ResultTableExporter
    - Improved output format of the CSV summary tables, adding version, 
    date, and column identifiers
    - Fixed an error with number of columns changing
    - Changed the plus-minus delimiter to ;
    
    #ExponentiallyModifiedGaussian
    #TrapezoidalPulse
    - Added required number of points (10)
    - Remove redundant init() override 
    
    #DiscretePulse2D 
    - A new private init(...) method has been introduced.
    - A new evalPulseSpot() method is introduced, which caclculates a non-zero 
    pulse spot in multiples of the grid radial step and automatically adjusts 
    the grid to allow a large enough step size
    - A listener has now been added to the properties of the problem under
    study, which triggers recalculation of the radial spot size
    
    #DiscretePulse
    - Added WIDTH_TOLERANCE_FACTOR, which determines the minimal allowed pulse
    width for pulse corrections
    - Added listener to Grid changes, requesting to re-init the DiscretePulse
    - Added the init() method
    - Pulse normalisation (area calculation) now done from within DiscretePulse
    - recalculate(...) now checks whether the nominal width is feasible. 
    Otherwise adjusts the pulse shape and width to prevent calculations from 
    slowing down dramatically
    - Upon setting the discreteWidth, the grid is re-adjusted to accomodate 
    these changes
    
    #CoupledImplicitScheme
    - Separated nonlinear BC treatment from the main logic
    
    #ImplicitNonlinearSolver
    #implicitCoupledSolver
    #ExplicitCoupledSolver
    
    - Replaced private prepare(...) method with a public overriden prepare(...) 
    with a Problem argument
    
    #ClassicalProblem2D
    - Fixed optimisationVector 
    
    #TaskManager
    - Added support for awaiting termination / terminated statuses
    - generateTask() now triggers DATA_LOADED events after the experimental 
    profiles have been loaded and before they are transferred to tasks
    - describe() became slightly more informative
    
    #ParticipatingMedium
    - Bulk of optimisationVector() and assign() moved to ThermoOpticalProperties
    
    #ImplicitDiathermicSolver
    - Fixed possible error in BC equations 
    - Added the rear-surface heat source 
    - private prepare() to public prepare()
    
    #InstanceCellEditor
    - Added check for NullPointerException in case when a change is not 
    possible (e.g. setting a NumericPulse when no such data is available)
    
    #NetzschCSVReader
    - Better handling of locale-specific delimiters 
    - Added guessLocaleAndFormat() method
    - Delimiters can now be changed multiple times during reading the same 
    document 
    
    #AbstractData
    - Removed redundant isIncomplete() method
    - Added isFull() helper method (note the usage is different from isIncomplete)
    
    #NumericPulse
    - Added required number of calculation points, equal to 20.
    - init(...) has been simplified by splitting it up in smaller chunks of code
    - pulse width is now unambigously defined via the doInterpolation(...) 
    method where it is set to the last element of the scaled time sequence 
    (dimensionless)
    - As a consequence, adjustedPulseWidth field is no longer needed and 
    has been removed
    
    #NumericPulseData
    - Removed redundant scale()
    
    #CompositePathOptimiser
    - Removed redundant checks for malformed candidate parameters
    
    #Grid2D
    - adjustTo() -> adjustStepSize()
    - replaced for(...) loop with a recursive call to adjustStepSize
    - after step size changed, calls adjustTimeStep
    
    #Grid 
    - adjustTo() -> adjustTimeStep()
    - Exploits required number of points, which differs depending on pulse 
    shape. Checks if the nominal pulse width is greater than the resolved 
    width. Adjusts time factor
    
    #Status
    - Added AWAITING_TERMINATION and TERMINATED
    
    #Added classes:
    - CornetteSchanksPF represents a new type of a phase function selectable 
    for PaticipatingMedium calculations
    - ImplicitCoupledSolverNL, ExplicitCoupledSolverNL and MixedCoupledSolverNL, 
    which extends over MixedCoupledSolver and adds functionality specifically 
    to deal with the nonlinear BC terms
    
    #Classes removed:
    - LayeredGrid2D
    - Partition
    - CoreShellProblem (no longer considered necessary after introducing zeta)
    - ADILayeredSolver
    
    Minor changes
    kotik-coder committed Jun 6, 2022
    Configuration menu
    Copy the full SHA
    ac55016 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2022

  1. Minor Fixes

    - Fixed pulse visualisation. Now it takes parameters directly from 
    the PulseShape, which is initialised by the DiscretePulse. Moreover,
    it only plots points at discrete time steps defined by the Grid.
    Therefore, the user should have an idea as to how detailed the pulse 
    correction is.
    - Adjusted the pulse resolution allowed for 2D models. This had to be
    done since 2D calculations are more demanding in terms of the number of
    pulse points. Previously these resulted in incorrect Tinf values.
    kotik-coder committed Jun 7, 2022
    Configuration menu
    Copy the full SHA
    1ce1f8e View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2022

  1. Model improvements

    - Convective heat losses now introduced in diathermic and participating
    medium models
    - Emissivity can now be output in the result format dialog
    kotik-coder committed Jun 8, 2022
    Configuration menu
    Copy the full SHA
    6548fbb View commit details
    Browse the repository at this point in the history
Loading