diff --git a/pom.xml b/pom.xml
index 3dc51b9..ecbe713 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
kotik-coder
PULsE
- 1.94F
+ 1.95
PULsE
Processing Unit for Laser flash Experiments
diff --git a/src/main/java/pulse/input/InterpolationDataset.java b/src/main/java/pulse/input/InterpolationDataset.java
index 3db3182..45f244e 100644
--- a/src/main/java/pulse/input/InterpolationDataset.java
+++ b/src/main/java/pulse/input/InterpolationDataset.java
@@ -5,7 +5,7 @@
import static pulse.properties.NumericPropertyKeyword.SPECIFIC_HEAT;
import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.EnumMap;
import java.util.List;
import java.util.Map;
@@ -14,6 +14,7 @@
import pulse.input.listeners.ExternalDatasetListener;
import pulse.properties.NumericPropertyKeyword;
+import static pulse.properties.NumericPropertyKeyword.EMISSIVITY;
import pulse.util.ImmutableDataEntry;
/**
@@ -29,9 +30,10 @@
public class InterpolationDataset {
private UnivariateFunction interpolation;
- private List> dataset;
- private static Map standartDatasets = new HashMap();
- private static List listeners = new ArrayList<>();
+ private final List> dataset;
+ private static final Map standartDatasets
+ = new EnumMap(StandartType.class);
+ private static final List listeners = new ArrayList<>();
/**
* Creates an empty {@code InterpolationDataset}.
@@ -121,6 +123,7 @@ public static List derivableProperties() {
}
if (list.contains(SPECIFIC_HEAT) && list.contains(DENSITY)) {
list.add(CONDUCTIVITY);
+ list.add(EMISSIVITY);
}
return list;
}
diff --git a/src/main/java/pulse/problem/schemes/solvers/ExplicitCoupledSolver.java b/src/main/java/pulse/problem/schemes/solvers/ExplicitCoupledSolver.java
index 9da5e21..d50b442 100644
--- a/src/main/java/pulse/problem/schemes/solvers/ExplicitCoupledSolver.java
+++ b/src/main/java/pulse/problem/schemes/solvers/ExplicitCoupledSolver.java
@@ -56,7 +56,8 @@ public void prepare(Problem problem) throws SolverException {
hx = grid.getXStep();
var p = (ThermoOpticalProperties) problem.getProperties();
- double Bi = (double) p.getHeatLoss().getValue();
+ //combined Biot
+ double Bi = (double) p.getHeatLoss().getValue() + (double) p.getConvectiveLosses().getValue();
a = 1. / (1. + Bi * hx);
diff --git a/src/main/java/pulse/problem/schemes/solvers/ExplicitCoupledSolverNL.java b/src/main/java/pulse/problem/schemes/solvers/ExplicitCoupledSolverNL.java
index 07247ef..ab30eeb 100644
--- a/src/main/java/pulse/problem/schemes/solvers/ExplicitCoupledSolverNL.java
+++ b/src/main/java/pulse/problem/schemes/solvers/ExplicitCoupledSolverNL.java
@@ -17,8 +17,6 @@
import pulse.problem.schemes.DifferenceScheme;
import pulse.problem.schemes.FixedPointIterations;
-import pulse.problem.statements.ParticipatingMedium;
-import pulse.problem.statements.Problem;
import static pulse.properties.NumericProperties.def;
import static pulse.properties.NumericProperties.derive;
import pulse.properties.NumericProperty;
diff --git a/src/main/java/pulse/problem/schemes/solvers/ImplicitCoupledSolver.java b/src/main/java/pulse/problem/schemes/solvers/ImplicitCoupledSolver.java
index 1301604..98c3dbb 100644
--- a/src/main/java/pulse/problem/schemes/solvers/ImplicitCoupledSolver.java
+++ b/src/main/java/pulse/problem/schemes/solvers/ImplicitCoupledSolver.java
@@ -58,7 +58,8 @@ public void prepare(Problem problem) throws SolverException {
final double tau = grid.getTimeStep();
var p = (ThermoOpticalProperties) problem.getProperties();
- final double Bi1 = (double) p.getHeatLoss().getValue();
+ //combined Biot
+ final double Bi1 = (double) p.getHeatLoss().getValue() + (double) p.getConvectiveLosses().getValue();
final double Np = (double) p.getPlanckNumber().getValue();
final double tau0 = (double) p.getOpticalThickness().getValue();
diff --git a/src/main/java/pulse/problem/schemes/solvers/ImplicitCoupledSolverNL.java b/src/main/java/pulse/problem/schemes/solvers/ImplicitCoupledSolverNL.java
index 42c9c03..389d148 100644
--- a/src/main/java/pulse/problem/schemes/solvers/ImplicitCoupledSolverNL.java
+++ b/src/main/java/pulse/problem/schemes/solvers/ImplicitCoupledSolverNL.java
@@ -17,8 +17,6 @@
import pulse.problem.schemes.DifferenceScheme;
import pulse.problem.schemes.FixedPointIterations;
-import pulse.problem.statements.ParticipatingMedium;
-import pulse.problem.statements.Problem;
import static pulse.properties.NumericProperties.def;
import static pulse.properties.NumericProperties.derive;
import pulse.properties.NumericProperty;
diff --git a/src/main/java/pulse/problem/schemes/solvers/ImplicitDiathermicSolver.java b/src/main/java/pulse/problem/schemes/solvers/ImplicitDiathermicSolver.java
index 3d36e22..920e4fb 100644
--- a/src/main/java/pulse/problem/schemes/solvers/ImplicitDiathermicSolver.java
+++ b/src/main/java/pulse/problem/schemes/solvers/ImplicitDiathermicSolver.java
@@ -47,11 +47,12 @@ public void prepare(Problem problem) throws SolverException {
/* Constants */
var properties = (DiathermicProperties) problem.getProperties();
- final double Bi1 = (double) properties.getHeatLoss().getValue();
+ final double BiR = (double) properties.getHeatLoss().getValue();
+ final double BiC = (double) properties.getConvectiveLosses().getValue();
final double eta = (double) properties.getDiathermicCoefficient().getValue();
- z0 = 1.0 + HX2_2TAU + hx * Bi1 * (1.0 + eta);
- zN_1 = -hx * eta * Bi1;
+ z0 = 1.0 + HX2_2TAU + hx * BiR * (1.0 + eta) + hx * BiC;
+ zN_1 = -hx * eta * BiR;
/* End of constants */
var tridiagonal = new BlockMatrixAlgorithm(grid);
@@ -106,4 +107,4 @@ public Class extends Problem>[] domain() {
return new Class[]{DiathermicMedium.class};
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/pulse/problem/schemes/solvers/MixedCoupledSolver.java b/src/main/java/pulse/problem/schemes/solvers/MixedCoupledSolver.java
index f5393da..fc3e516 100644
--- a/src/main/java/pulse/problem/schemes/solvers/MixedCoupledSolver.java
+++ b/src/main/java/pulse/problem/schemes/solvers/MixedCoupledSolver.java
@@ -74,7 +74,10 @@ public void prepare(Problem problem) throws SolverException {
hx = grid.getXStep();
tau = grid.getTimeStep();
- Bi1 = (double) problem.getProperties().getHeatLoss().getValue();
+ var properties = (ThermoOpticalProperties)problem.getProperties();
+ //combined biot
+ Bi1 = (double) properties.getHeatLoss().getValue() +
+ (double) properties.getConvectiveLosses().getValue();
zeta = (double) ( (ClassicalProblem)problem ).getGeometricFactor().getValue();
diff --git a/src/main/java/pulse/problem/statements/DiathermicMedium.java b/src/main/java/pulse/problem/statements/DiathermicMedium.java
index 0e8fcad..488eafd 100644
--- a/src/main/java/pulse/problem/statements/DiathermicMedium.java
+++ b/src/main/java/pulse/problem/statements/DiathermicMedium.java
@@ -14,6 +14,7 @@
import pulse.problem.statements.model.DiathermicProperties;
import pulse.problem.statements.model.ThermalProperties;
import pulse.properties.Flag;
+import static pulse.properties.NumericPropertyKeyword.HEAT_LOSS_CONVECTIVE;
import pulse.ui.Messages;
/**
@@ -60,17 +61,31 @@ public void optimisationVector(ParameterVector output, List flags) {
for (int i = 0, size = output.dimension(); i < size; i++) {
var key = output.getIndex(i);
+ Segment bounds = null;
+ double value = 0;
- if (key == DIATHERMIC_COEFFICIENT) {
-
- var bounds = Segment.boundsFrom(DIATHERMIC_COEFFICIENT);
- final double etta = (double) properties.getDiathermicCoefficient().getValue();
-
- output.setTransform(i, new StickTransform(bounds));
- output.set(i, etta);
- output.setParameterBounds(i, bounds);
-
+ switch (key) {
+ case DIATHERMIC_COEFFICIENT:
+ bounds = Segment.boundsFrom(DIATHERMIC_COEFFICIENT);
+ value = (double) properties.getDiathermicCoefficient().getValue();
+ break;
+ case HEAT_LOSS_CONVECTIVE:
+ bounds = Segment.boundsFrom(HEAT_LOSS_CONVECTIVE);
+ value = (double) properties.getConvectiveLosses().getValue();
+ break;
+ case HEAT_LOSS:
+ if(properties.areThermalPropertiesLoaded()) {
+ value = (double) properties.getHeatLoss().getValue();
+ bounds = new Segment(0.0, properties.maxRadiationBiot() );
+ break;
+ }
+ default:
+ continue;
}
+
+ output.setTransform(i, new StickTransform(bounds));
+ output.set(i, value);
+ output.setParameterBounds(i, bounds);
}
@@ -90,9 +105,10 @@ public void assign(ParameterVector params) throws SolverException {
case DIATHERMIC_COEFFICIENT:
properties.setDiathermicCoefficient(derive(DIATHERMIC_COEFFICIENT, params.inverseTransform(i)));
break;
+ case HEAT_LOSS_CONVECTIVE:
+ properties.setConvectiveLosses(derive(HEAT_LOSS_CONVECTIVE, params.inverseTransform(i)));
+ break;
default:
- continue;
-
}
}
diff --git a/src/main/java/pulse/problem/statements/model/DiathermicProperties.java b/src/main/java/pulse/problem/statements/model/DiathermicProperties.java
index 2315390..bc0a9a5 100644
--- a/src/main/java/pulse/problem/statements/model/DiathermicProperties.java
+++ b/src/main/java/pulse/problem/statements/model/DiathermicProperties.java
@@ -7,14 +7,17 @@
import static pulse.properties.NumericProperty.requireType;
import pulse.properties.NumericPropertyKeyword;
import static pulse.properties.NumericPropertyKeyword.DIATHERMIC_COEFFICIENT;
+import static pulse.properties.NumericPropertyKeyword.HEAT_LOSS_CONVECTIVE;
public class DiathermicProperties extends ThermalProperties {
private double diathermicCoefficient;
+ private double convectiveLosses;
public DiathermicProperties() {
super();
this.diathermicCoefficient = (double) def(DIATHERMIC_COEFFICIENT).getValue();
+ this.convectiveLosses = (double) def(HEAT_LOSS_CONVECTIVE).getValue();
}
public DiathermicProperties(ThermalProperties p) {
@@ -23,8 +26,10 @@ public DiathermicProperties(ThermalProperties p) {
? ((DiathermicProperties) p).getDiathermicCoefficient()
: def(DIATHERMIC_COEFFICIENT);
this.diathermicCoefficient = (double) property.getValue();
+ this.convectiveLosses = (double) property.getValue();
}
+ @Override
public ThermalProperties copy() {
return new ThermalProperties(this);
}
@@ -37,13 +42,29 @@ public void setDiathermicCoefficient(NumericProperty diathermicCoefficient) {
requireType(diathermicCoefficient, DIATHERMIC_COEFFICIENT);
this.diathermicCoefficient = (double) diathermicCoefficient.getValue();
}
+
+ public NumericProperty getConvectiveLosses() {
+ return derive(HEAT_LOSS_CONVECTIVE, convectiveLosses);
+ }
+
+ public void setConvectiveLosses(NumericProperty convectiveLosses) {
+ requireType(convectiveLosses, HEAT_LOSS_CONVECTIVE);
+ this.convectiveLosses = (double) convectiveLosses.getValue();
+ }
@Override
public void set(NumericPropertyKeyword type, NumericProperty property) {
- if (type == DIATHERMIC_COEFFICIENT) {
- diathermicCoefficient = ((Number) property.getValue()).doubleValue();
- } else {
- super.set(type, property);
+ double value = ((Number) property.getValue()).doubleValue();
+ switch (type) {
+ case DIATHERMIC_COEFFICIENT:
+ diathermicCoefficient = value;
+ break;
+ case HEAT_LOSS_CONVECTIVE:
+ convectiveLosses = value;
+ break;
+ default:
+ super.set(type, property);
+ break;
}
}
@@ -51,7 +72,8 @@ public void set(NumericPropertyKeyword type, NumericProperty property) {
public Set listedKeywords() {
var set = super.listedKeywords();
set.add(DIATHERMIC_COEFFICIENT);
+ set.add(HEAT_LOSS_CONVECTIVE);
return set;
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/pulse/problem/statements/model/ExtendedThermalProperties.java b/src/main/java/pulse/problem/statements/model/ExtendedThermalProperties.java
index df62001..4ff6ff7 100644
--- a/src/main/java/pulse/problem/statements/model/ExtendedThermalProperties.java
+++ b/src/main/java/pulse/problem/statements/model/ExtendedThermalProperties.java
@@ -62,7 +62,7 @@ public ThermalProperties copy() {
public void useTheoreticalEstimates(ExperimentalData c) {
super.useTheoreticalEstimates(c);
if (areThermalPropertiesLoaded()) {
- Bi3 = biot();
+ Bi3 = radiationBiot();
}
}
diff --git a/src/main/java/pulse/problem/statements/model/ThermalProperties.java b/src/main/java/pulse/problem/statements/model/ThermalProperties.java
index 75a7ee5..c3691eb 100644
--- a/src/main/java/pulse/problem/statements/model/ThermalProperties.java
+++ b/src/main/java/pulse/problem/statements/model/ThermalProperties.java
@@ -169,6 +169,9 @@ public void set(NumericPropertyKeyword type, NumericProperty value) {
public void setHeatLoss(NumericProperty Bi) {
requireType(Bi, HEAT_LOSS);
this.Bi = (double) Bi.getValue();
+ if(areThermalPropertiesLoaded()) {
+ calculateEmissivity();
+ }
firePropertyChanged(this, Bi);
}
@@ -272,6 +275,7 @@ public Set listedKeywords() {
set.add(HEAT_LOSS);
set.add(DENSITY);
set.add(SPECIFIC_HEAT);
+ set.add(EMISSIVITY);
return set;
}
@@ -285,16 +289,33 @@ public NumericProperty getThermalConductivity() {
public void calculateEmissivity() {
double newEmissivity = Bi * thermalConductivity() / (4. * Math.pow(T, 3) * l * STEFAN_BOTLZMAN);
- var transform = new StickTransform(new Segment(0.01, 1.0));
+ var transform = new StickTransform(Segment.boundsFrom(EMISSIVITY));
setEmissivity(derive(EMISSIVITY,
transform.transform(newEmissivity))
);
}
- public double biot() {
+ /**
+ * Calculates the radiative Biot number.
+ * @return the radiative Biot number.
+ */
+
+ public double radiationBiot() {
double lambda = thermalConductivity();
return 4.0 * emissivity * STEFAN_BOTLZMAN * Math.pow(T, 3) * l / lambda;
}
+
+ /**
+ * Calculates the maximum Biot number at these conditions, which
+ * corresponds to an emissivity of unity. If emissivity is non-positive,
+ * returns the maximum Biot number defined in the XML file.
+ * @return the maximum Biot number
+ */
+
+ public double maxRadiationBiot() {
+ double absMax = Segment.boundsFrom(HEAT_LOSS).getMaximum();
+ return emissivity > 0 ? radiationBiot() / emissivity : absMax;
+ }
/**
* Performs simple calculation of the
@@ -320,7 +341,7 @@ public void useTheoreticalEstimates(ExperimentalData c) {
final double t0 = c.getHalfTime();
this.a = PARKERS_COEFFICIENT * l * l / t0;
if (areThermalPropertiesLoaded()) {
- Bi = biot();
+ Bi = radiationBiot();
}
}
diff --git a/src/main/java/pulse/problem/statements/model/ThermoOpticalProperties.java b/src/main/java/pulse/problem/statements/model/ThermoOpticalProperties.java
index 6228287..67db88b 100644
--- a/src/main/java/pulse/problem/statements/model/ThermoOpticalProperties.java
+++ b/src/main/java/pulse/problem/statements/model/ThermoOpticalProperties.java
@@ -19,6 +19,7 @@
import static pulse.properties.NumericProperties.derive;
import pulse.properties.NumericProperty;
import pulse.properties.NumericPropertyKeyword;
+import static pulse.properties.NumericPropertyKeyword.HEAT_LOSS_CONVECTIVE;
import static pulse.properties.NumericPropertyKeyword.OPTICAL_THICKNESS;
import static pulse.properties.NumericPropertyKeyword.PLANCK_NUMBER;
import pulse.search.Optimisable;
@@ -29,29 +30,33 @@ public class ThermoOpticalProperties extends ThermalProperties implements Optimi
private double planckNumber;
private double scatteringAlbedo;
private double scatteringAnisotropy;
+ private double convectiveLosses;
public ThermoOpticalProperties() {
super();
- this.opticalThickness = (double) def(OPTICAL_THICKNESS).getValue();
- this.planckNumber = (double) def(PLANCK_NUMBER).getValue();
- scatteringAnisotropy = (double) def(SCATTERING_ANISOTROPY).getValue();
- scatteringAlbedo = (double) def(SCATTERING_ALBEDO).getValue();
+ this.opticalThickness = (double) def(OPTICAL_THICKNESS).getValue();
+ this.planckNumber = (double) def(PLANCK_NUMBER).getValue();
+ scatteringAnisotropy = (double) def(SCATTERING_ANISOTROPY).getValue();
+ scatteringAlbedo = (double) def(SCATTERING_ALBEDO).getValue();
+ convectiveLosses = (double) def(HEAT_LOSS_CONVECTIVE).getValue();
}
public ThermoOpticalProperties(ThermalProperties p) {
super(p);
- this.opticalThickness = (double) def(OPTICAL_THICKNESS).getValue();
- this.planckNumber = (double) def(PLANCK_NUMBER).getValue();
- scatteringAlbedo = (double) def(SCATTERING_ALBEDO).getValue();
- scatteringAnisotropy = (double) def(SCATTERING_ANISOTROPY).getValue();
+ opticalThickness = (double) def(OPTICAL_THICKNESS).getValue();
+ planckNumber = (double) def(PLANCK_NUMBER).getValue();
+ scatteringAlbedo = (double) def(SCATTERING_ALBEDO).getValue();
+ scatteringAnisotropy = (double) def(SCATTERING_ANISOTROPY).getValue();
+ convectiveLosses = (double) def(HEAT_LOSS_CONVECTIVE).getValue();
}
public ThermoOpticalProperties(ThermoOpticalProperties p) {
super(p);
- this.opticalThickness = p.opticalThickness;
- this.planckNumber = p.planckNumber;
- this.scatteringAlbedo = p.scatteringAlbedo;
- this.scatteringAnisotropy = p.scatteringAnisotropy;
+ this.opticalThickness = p.opticalThickness;
+ this.planckNumber = p.planckNumber;
+ this.scatteringAlbedo = p.scatteringAlbedo;
+ this.scatteringAnisotropy = p.scatteringAnisotropy;
+ this.convectiveLosses = p.convectiveLosses;
}
@Override
@@ -76,6 +81,9 @@ public void set(NumericPropertyKeyword type, NumericProperty value) {
case SCATTERING_ANISOTROPY:
setScatteringAnisotropy(value);
break;
+ case HEAT_LOSS_CONVECTIVE:
+ setConvectiveLosses(value);
+ break;
default:
break;
}
@@ -89,6 +97,7 @@ public Set listedKeywords() {
set.add(OPTICAL_THICKNESS);
set.add(SCATTERING_ALBEDO);
set.add(SCATTERING_ANISOTROPY);
+ set.add(HEAT_LOSS_CONVECTIVE);
return set;
}
@@ -127,7 +136,17 @@ public void setScatteringAnisotropy(NumericProperty A1) {
this.scatteringAnisotropy = (double) A1.getValue();
firePropertyChanged(this, A1);
}
+
+ public void setConvectiveLosses(NumericProperty losses) {
+ requireType(losses, HEAT_LOSS_CONVECTIVE);
+ this.convectiveLosses = (double) losses.getValue();
+ firePropertyChanged(this, losses);
+ }
+ public NumericProperty getConvectiveLosses() {
+ return derive(HEAT_LOSS_CONVECTIVE, convectiveLosses);
+ }
+
public NumericProperty getScatteringAlbedo() {
return derive(SCATTERING_ALBEDO, scatteringAlbedo);
}
@@ -159,6 +178,7 @@ public String getDescriptor() {
@Override
public String toString() {
StringBuilder sb = new StringBuilder(super.toString());
+ sb.append(String.format("%n %-25s", this.getConvectiveLosses()));
sb.append(String.format("%n %-25s", this.getOpticalThickness()));
sb.append(String.format("%n %-25s", this.getPlanckNumber()));
sb.append(String.format("%n %-25s", this.getScatteringAlbedo()));
@@ -182,20 +202,28 @@ public void optimisationVector(ParameterVector output, List flags) {
case PLANCK_NUMBER:
final double lowerBound = Segment.boundsFrom(PLANCK_NUMBER).getMinimum();
bounds = new Segment(lowerBound, maxNp());
- value = (double) getPlanckNumber().getValue();
+ value = planckNumber;
break;
case OPTICAL_THICKNESS:
- value = (double) getOpticalThickness().getValue();
+ value = opticalThickness;
bounds = Segment.boundsFrom(OPTICAL_THICKNESS);
break;
case SCATTERING_ALBEDO:
- value = (double) getScatteringAlbedo().getValue();
- bounds = new Segment(0.0, 1.0);
+ value = scatteringAlbedo;
+ bounds = Segment.boundsFrom(SCATTERING_ALBEDO);
break;
case SCATTERING_ANISOTROPY:
- value = (double) getScatteringAnisostropy().getValue();
- bounds = new Segment(-1.0, 1.0);
+ value = scatteringAnisotropy;
+ bounds = Segment.boundsFrom(SCATTERING_ANISOTROPY);
+ break;
+ case HEAT_LOSS_CONVECTIVE:
+ value = convectiveLosses;
+ bounds = Segment.boundsFrom(HEAT_LOSS_CONVECTIVE);
break;
+ case HEAT_LOSS:
+ value = (double) getHeatLoss().getValue();
+ bounds = new Segment(0.0, maxRadiationBiot() );
+ break;
default:
continue;
@@ -223,6 +251,7 @@ public void assign(ParameterVector params) throws SolverException {
case SCATTERING_ALBEDO:
case SCATTERING_ANISOTROPY:
case OPTICAL_THICKNESS:
+ case HEAT_LOSS_CONVECTIVE:
set(type, derive(type, params.inverseTransform(i)));
break;
default:
diff --git a/src/main/java/pulse/properties/NumericPropertyKeyword.java b/src/main/java/pulse/properties/NumericPropertyKeyword.java
index c9e63cb..539a832 100644
--- a/src/main/java/pulse/properties/NumericPropertyKeyword.java
+++ b/src/main/java/pulse/properties/NumericPropertyKeyword.java
@@ -157,6 +157,13 @@ public enum NumericPropertyKeyword {
* sample (1D and 2D problems).
*/
HEAT_LOSS,
+
+ /**
+ * The convective heat loss in diathermic and participating medium problems.
+ */
+
+ HEAT_LOSS_CONVECTIVE,
+
/**
* A directive for the optimiser to maintain equal heat losses on all
* surfaces of the sample. Note that the dimensionless heat losses, i.e.
diff --git a/src/main/java/pulse/tasks/processing/ResultFormat.java b/src/main/java/pulse/tasks/processing/ResultFormat.java
index 63c7679..6611a84 100644
--- a/src/main/java/pulse/tasks/processing/ResultFormat.java
+++ b/src/main/java/pulse/tasks/processing/ResultFormat.java
@@ -45,16 +45,11 @@ private ResultFormat() {
private ResultFormat(List keys) {
nameMap = new ArrayList<>();
- for (var key : keys) {
- nameMap.add(key);
- }
- }
-
- private ResultFormat(ResultFormat fmt) {
- nameMap = new ArrayList<>(fmt.nameMap.size());
- nameMap.addAll(fmt.nameMap);
+ keys.forEach(key ->
+ nameMap.add(key)
+ );
}
-
+
public static void addResultFormatListener(ResultFormatListener rfl) {
listeners.add(rfl);
}
diff --git a/src/main/java/pulse/ui/components/models/SelectedKeysModel.java b/src/main/java/pulse/ui/components/models/SelectedKeysModel.java
index 3234193..98491bf 100644
--- a/src/main/java/pulse/ui/components/models/SelectedKeysModel.java
+++ b/src/main/java/pulse/ui/components/models/SelectedKeysModel.java
@@ -16,7 +16,7 @@ public class SelectedKeysModel extends DefaultTableModel {
*
*/
private static final long serialVersionUID = 1L;
- private List elements;
+ private final List elements;
private final List referenceList;
private final NumericPropertyKeyword[] mandatorySelection;
@@ -28,7 +28,7 @@ public SelectedKeysModel(List keys, NumericPropertyKeywo
update();
}
- public void update() {
+ public final void update() {
update(referenceList);
}
diff --git a/src/main/java/pulse/ui/frames/dialogs/ResultChangeDialog.java b/src/main/java/pulse/ui/frames/dialogs/ResultChangeDialog.java
index ee1c7d9..b0554c3 100644
--- a/src/main/java/pulse/ui/frames/dialogs/ResultChangeDialog.java
+++ b/src/main/java/pulse/ui/frames/dialogs/ResultChangeDialog.java
@@ -3,19 +3,11 @@
import static javax.swing.SwingConstants.BOTTOM;
import java.awt.BorderLayout;
-import java.awt.Component;
import javax.swing.JDialog;
-import javax.swing.JTable;
-import javax.swing.JTextArea;
import javax.swing.SwingConstants;
-import static javax.swing.SwingConstants.SOUTH;
-import static javax.swing.SwingConstants.TOP;
-import javax.swing.table.DefaultTableCellRenderer;
-import javax.swing.table.TableCellRenderer;
import pulse.tasks.processing.ResultFormat;
-import pulse.ui.Messages;
import pulse.ui.components.models.ParameterTableModel;
import pulse.ui.components.models.SelectedKeysModel;
import pulse.ui.components.panels.DoubleTablePanel;
@@ -30,7 +22,6 @@ public class ResultChangeDialog extends JDialog {
private final static int HEIGHT = 600;
public ResultChangeDialog() {
-
setTitle("Result output formatting");
initComponents();
setSize(WIDTH, HEIGHT);
@@ -47,8 +38,6 @@ public void setVisible(boolean value) {
}
private void initComponents() {
- java.awt.GridBagConstraints gridBagConstraints;
-
MainToolbar = new javax.swing.JToolBar();
filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0),
new java.awt.Dimension(32767, 0));
diff --git a/src/main/resources/NumericProperty.xml b/src/main/resources/NumericProperty.xml
index a4293ab..3d4b61a 100644
--- a/src/main/resources/NumericProperty.xml
+++ b/src/main/resources/NumericProperty.xml
@@ -180,7 +180,7 @@
visible="true"
descriptor="Optical thickness, <i>τ</i><sub>0</sub>"
dimensionfactor="1" discreet="false" keyword="OPTICAL_THICKNESS"
- maximum="100000" minimum="1e-4" primitive-type="double" value="0.1"
+ maximum="100000" minimum="1e-3" primitive-type="double" value="0.1"
default-search-variable="true">
@@ -375,7 +375,7 @@
minimum="1.0" value="0.0" primitive-type="double" discreet="false"/>
HEAT_LOSS_COMBINED
+
+