From 6bf224d0c3c9044d2952ffee161a9c36e7dce2f3 Mon Sep 17 00:00:00 2001 From: Adrian Nilsson Date: Mon, 14 Oct 2024 17:37:53 +0200 Subject: [PATCH 1/2] fix: include missing vectorization The example gave a "Translation Error" since to the variable `i` is never declared. It seems like the first term was simply not vectorized when the example was updated in a87d4afffb653b859186417628e28d72639bd3e2 --- .../ArrayEquations/HeatTransfer/Rod_VectorNotation.mo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_VectorNotation.mo b/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_VectorNotation.mo index 0d654503..78918843 100644 --- a/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_VectorNotation.mo +++ b/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_VectorNotation.mo @@ -31,6 +31,6 @@ initial equation T = linspace(200,300,n); equation rho*V*C*der(T[1]) = -h*A_s*(T[1]-Tamb)-k*A_c*(T[1]-T[2])/(L/n); - rho*V*C*der(T[2:n-1]) = -h*A_s*(T[i]-Tamb)-k*A_c*(T[2:n-1]-T[1:n-2])/(L/n)-k*A_c*(T[2:n-1]-T[3:n])/(L/n); + rho*V*C*der(T[2:n-1]) = -h*A_s*(T[2:n-1]-fill(Tamb, n-2))-k*A_c*(T[2:n-1]-T[1:n-2])/(L/n)-k*A_c*(T[2:n-1]-T[3:n])/(L/n); rho*V*C*der(T[end]) = -h*A_s*(T[end]-Tamb)-k*A_c*(T[end]-T[end-1])/(L/n); end Rod_VectorNotation; From 0e38259c235f4155222d957deb8e13b05c68667b Mon Sep 17 00:00:00 2001 From: Adrian Nilsson Date: Mon, 14 Oct 2024 17:56:57 +0200 Subject: [PATCH 2/2] fix: correct the unit of the convection coefficient As reported in #454 --- .../ArrayEquations/HeatTransfer/Rod_ArrayComprehensions.mo | 2 +- .../HeatTransfer/Rod_ArrayComprehensionsOneEquation.mo | 2 +- ModelicaByExample/ArrayEquations/HeatTransfer/Rod_ForLoop.mo | 2 +- .../ArrayEquations/HeatTransfer/Rod_VectorNotation.mo | 2 +- .../HeatTransfer/Rod_VectorNotationNoSubscripts.mo | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_ArrayComprehensions.mo b/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_ArrayComprehensions.mo index b5bdfbff..4c34a639 100644 --- a/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_ArrayComprehensions.mo +++ b/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_ArrayComprehensions.mo @@ -2,7 +2,7 @@ within ModelicaByExample.ArrayEquations.HeatTransfer; model Rod_ArrayComprehensions "Modeling heat conduction in a rod using array comprehensions" type Temperature=Real(unit="K", min=0); - type ConvectionCoefficient=Real(unit="W/K", min=0); + type ConvectionCoefficient=Real(unit="W/(m2.K)", min=0); type ConductionCoefficient=Real(unit="W.m-1.K-1", min=0); type Mass=Real(unit="kg", min=0); type SpecificHeat=Real(unit="J/(K.kg)", min=0); diff --git a/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_ArrayComprehensionsOneEquation.mo b/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_ArrayComprehensionsOneEquation.mo index 253e0535..5711ce89 100644 --- a/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_ArrayComprehensionsOneEquation.mo +++ b/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_ArrayComprehensionsOneEquation.mo @@ -2,7 +2,7 @@ within ModelicaByExample.ArrayEquations.HeatTransfer; model Rod_ArrayComprehensionsOneEquation "Modeling heat conduction in a rod using single equation with array comprehensions" type Temperature=Real(unit="K", min=0); - type ConvectionCoefficient=Real(unit="W/K", min=0); + type ConvectionCoefficient=Real(unit="W/(m2.K)", min=0); type ConductionCoefficient=Real(unit="W.m-1.K-1", min=0); type Mass=Real(unit="kg", min=0); type SpecificHeat=Real(unit="J/(K.kg)", min=0); diff --git a/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_ForLoop.mo b/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_ForLoop.mo index 7744a647..155104e6 100644 --- a/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_ForLoop.mo +++ b/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_ForLoop.mo @@ -1,7 +1,7 @@ within ModelicaByExample.ArrayEquations.HeatTransfer; model Rod_ForLoop "Modeling heat conduction in a rod using a for loop" type Temperature=Real(unit="K", min=0); - type ConvectionCoefficient=Real(unit="W/K", min=0); + type ConvectionCoefficient=Real(unit="W/(m2.K)", min=0); type ConductionCoefficient=Real(unit="W.m-1.K-1", min=0); type Mass=Real(unit="kg", min=0); type SpecificHeat=Real(unit="J/(K.kg)", min=0); diff --git a/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_VectorNotation.mo b/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_VectorNotation.mo index 78918843..98af1bbd 100644 --- a/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_VectorNotation.mo +++ b/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_VectorNotation.mo @@ -2,7 +2,7 @@ within ModelicaByExample.ArrayEquations.HeatTransfer; model Rod_VectorNotation "Modeling heat conduction in a rod using vector notation" type Temperature=Real(unit="K", min=0); - type ConvectionCoefficient=Real(unit="W/K", min=0); + type ConvectionCoefficient=Real(unit="W/(m2.K)", min=0); type ConductionCoefficient=Real(unit="W.m-1.K-1", min=0); type Mass=Real(unit="kg", min=0); type SpecificHeat=Real(unit="J/(K.kg)", min=0); diff --git a/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_VectorNotationNoSubscripts.mo b/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_VectorNotationNoSubscripts.mo index f48252ee..f433e583 100644 --- a/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_VectorNotationNoSubscripts.mo +++ b/ModelicaByExample/ArrayEquations/HeatTransfer/Rod_VectorNotationNoSubscripts.mo @@ -2,7 +2,7 @@ within ModelicaByExample.ArrayEquations.HeatTransfer; model Rod_VectorNotationNoSubscripts "Modeling heat conduction in a rod using vector notation" type Temperature=Real(unit="K", min=0); - type ConvectionCoefficient=Real(unit="W/K", min=0); + type ConvectionCoefficient=Real(unit="W/(m2.K)", min=0); type ConductionCoefficient=Real(unit="W.m-1.K-1", min=0); type Mass=Real(unit="kg", min=0); type SpecificHeat=Real(unit="J/(K.kg)", min=0);