├── Resources └── TSATquickstart.pdf ├── NASA Open Source Agreement.pdf ├── Trunk ├── TSAT_Library │ ├── TSAT_Lib.slx │ ├── TSAT_AirProps.slx │ ├── TSAT_GenHeatX.slx │ ├── TSAT_GenTools.slx │ ├── TSAT_Conduction.slx │ ├── TSAT_Convection.slx │ ├── TSAT_Deformation.slx │ ├── TSAT_Radiation.slx │ ├── lib_GenTools_MinMax.slx │ ├── lib_AirProps_ThermCond.slx │ ├── lib_AirProps_Viscosity.slx │ ├── lib_Convection_FCSphere.slx │ ├── lib_GenTools_Averaging.slx │ ├── lib_GenTools_SubMatrix.slx │ ├── TSAT_Support │ │ ├── AirPropsLib.JPG │ │ ├── ConductionLib.JPG │ │ ├── ConvectionLib.JPG │ │ ├── RadiationLib.JPG │ │ ├── DeformationLib.JPG │ │ ├── GeneralHeatXLib.JPG │ │ ├── GeneralToolsLib.JPG │ │ ├── LibraryBlockPics.pptx │ │ ├── AirProps_TSAT_ThermCond.html │ │ ├── AirProps_TSAT_Viscosity.html │ │ ├── Convection_TSAT_SimpConvHeatX.html │ │ ├── Convection_TSAT_SimpNatConvHeatX.html │ │ ├── Convection_TSAT_SimpNatConvHeatXII.html │ │ ├── GenTools_TSAT_Averaging.html │ │ ├── GenTools_TSAT_MinMax.html │ │ ├── AirProps_TSAT_HeatCapacity.html │ │ ├── Convection_TSAT_ColebrookCorr.html │ │ ├── Convection_TSAT_HydraulicDiameter.html │ │ ├── GenTools_TSAT_PolynomialFit.html │ │ ├── Convection_TSAT_FilmCoolTref.html │ │ ├── GenTools_TSAT_SubMatrix.html │ │ ├── AirProps_TSAT_SpecificHeatConstVol.html │ │ ├── GenTools_TSAT_1DlinearInterp.html │ │ ├── Convection_TSAT_CylinderCrossFlowChurchillBern.html │ │ ├── Convection_TSAT_FCSphere.html │ │ ├── GenTools_TSAT_WeightedAveraging.html │ │ ├── Radiation_TSAT_HeatXCoeffNonRefSink.html │ │ ├── Convection_TSAT_FCHorizRectCavity.html │ │ ├── Convection_TSAT_SphereCrossFlowWhitaker.html │ │ ├── Convection_TSAT_TurbIncompFlatPlateBL.html │ │ ├── GenTools_TSAT_LogisticFun.html │ │ ├── GenTools_TSAT_2DlinearInterp.html │ │ ├── Radiation_TSAT_HeatXCoeffRefPlanar.html │ │ ├── Convection_TSAT_CylinderCrossFlowHilpert.html │ │ ├── Convection_TSAT_LamIncompFlatPlateBL.html │ │ ├── GenTools_TSAT_3DlinearInterp.html │ │ ├── Convection_TSAT_CylinderCrossFlowZukauskas.html │ │ ├── Convection_TSAT_MixedBLFlatPlate.html │ │ ├── Convection_TSAT_LaminarFlatPlate_ChurchillOzoe.html │ │ ├── Convection_TSAT_LaminarFlatPlate.html │ │ ├── Convection_TSAT_SiederTate.html │ │ ├── Convection_TSAT_TurbulentFlatPlate.html │ │ ├── Convection_TSAT_ThinPlateCrossFlowHilpert.html │ │ ├── Radiation_TSAT_HeatXCoeffRefConcCyl.html │ │ ├── Conduction_TSAT_InterfaceTemp.html │ │ ├── Convection_TSAT_DittusBoelter.html │ │ ├── Convection_TSAT_FCVertPlateLamConvAnalytical.html │ │ ├── Convection_TSAT_SquareRodCrossFlowHilpert.html │ │ ├── Convection_TSAT_SutherlandsLaw.html │ │ ├── Convection_TSAT_LamCoiledTube.html │ │ ├── Convection_TSAT_FCHorizCyl.html │ │ ├── Convection_TSAT_HexagonRodCrossFlowHilpert.html │ │ ├── Convection_TSAT_TurbAxisymBodyAmbrok.html │ │ ├── Convection_TSAT_FCHorizPlate.html │ │ ├── Convection_TSAT_FCVertRectCavity.html │ │ ├── Convection_TSAT_MixedConv.html │ │ ├── Convection_TSAT_Gnielinski.html │ │ └── Convection_TSAT_FCVertIncPlateCyl.html │ ├── lib_AirProps_HeatCapacity.slx │ ├── lib_Conduction_2DCondADI.slx │ ├── lib_Convection_FCConcCyls.slx │ ├── lib_Convection_FCHorizCyl.slx │ ├── lib_Convection_FalknerSkan.slx │ ├── lib_Convection_Gnielinski.slx │ ├── lib_Convection_MixedConv.slx │ ├── lib_Convection_NonDimParms.slx │ ├── lib_Convection_SiederTate.slx │ ├── lib_Convection_Sutherland.slx │ ├── lib_GenTools_LogisticFun.slx │ ├── lib_GenTools_PolynomialFit.slx │ ├── lib_Conduction_InterfaceTemp.slx │ ├── lib_Convection_ColebrookCorr.slx │ ├── lib_Convection_DittusBoelter.slx │ ├── lib_Convection_FCConcSpheres.slx │ ├── lib_Convection_FCHorizPlate.slx │ ├── lib_Convection_FilmCoolTref.slx │ ├── lib_Convection_ImpingingJet.slx │ ├── lib_Convection_LamCoiledTube.slx │ ├── lib_Convection_LamFlatPlate.slx │ ├── lib_Convection_SimpConvHeatX.slx │ ├── lib_Convection_TurbFlatPlate.slx │ ├── lib_GenHeatX_LumpedMassHeatX.slx │ ├── lib_GenTools_1DlinearInterp.slx │ ├── lib_GenTools_2DlinearInterp.slx │ ├── lib_GenTools_3DlinearInterp.slx │ ├── lib_Convection_FCVertRectCavity.slx │ ├── lib_Convection_HeatCapIdealGas.slx │ ├── lib_Convection_MixedBLFlatPlate.slx │ ├── lib_Convection_SimpNatConvHeatX.slx │ ├── lib_Convection_TurbAxiSymAmbrok.slx │ ├── lib_GenTools_WeightedAveraging.slx │ ├── lib_AirProps_SpecificHeatConstVol.slx │ ├── lib_Convection_ChurchillBernstein.slx │ ├── lib_Convection_FCHorizRectCavity.slx │ ├── lib_Convection_FCTiltedRectCavity.slx │ ├── lib_Convection_FCVertIncPlateCyl.slx │ ├── lib_Convection_FluidEnergyBalance.slx │ ├── lib_Convection_HydraulicDiameter.slx │ ├── lib_Convection_LamCircTurbAnnulus.slx │ ├── lib_Convection_LamIntFlwVarShapes.slx │ ├── lib_Convection_SimpNatConvHeatXII.slx │ ├── lib_Convection_TubeBankZukauskas.slx │ ├── lib_Deformation_ThermExp1DElastic.slx │ ├── lib_Radiation_HeatXCoeffRefPlanar.slx │ ├── lib_Conduction_2DCondFullyImplicit.slx │ ├── lib_Convection_CylCrossFlowHilpert.slx │ ├── lib_Convection_CylCrossFlowZukauskas.slx │ ├── lib_Convection_FalknerSkanTempVary.slx │ ├── lib_Convection_LamIncompFlatPlateBL.slx │ ├── lib_Convection_TurbIncompFlatPlateBL.slx │ ├── lib_Radiation_HeatXCoeffNonRefSink.slx │ ├── lib_Radiation_HeatXCoeffRefConcCyl.slx │ ├── lib_Convection_MixedIncompFlatPlateBL.slx │ ├── lib_Convection_SphereCrossFlowWhitaker.slx │ ├── lib_Conduction_HeatX1DVarPropsAndGenBCs.slx │ ├── lib_Convection_HexagonRodCrossFlowHilpert.slx │ ├── lib_Convection_LamFlatPlate_ChurchillOzoe.slx │ ├── lib_Convection_SquareRodCrossFlowHilpert.slx │ ├── lib_Convection_ThinPlateCrossFlowHilpert.slx │ ├── lib_Conduction_2DCondADI_IterSubsysCapable.slx │ ├── lib_Convection_FCVertPlateLamConvAnalytical.slx │ ├── lib_Convection_TurbFlatPlatePowLawTempVary.slx │ ├── lib_Conduction_2DCondFullyImplicit_IterSubsysCapable.slx │ ├── lib_Conduction_HeatX1DVarPropsAndGenBCs_IterSubsysCapable.slx │ ├── slblocks.m │ └── MATLAB_Scripts │ │ ├── MSK_ReplaceBlock_TSAT.m │ │ ├── MSK_SEC_Enables3_TSAT.m │ │ ├── MSK_SEC_Enables2_TSAT.m │ │ └── MSK_SEC_Enables_TSAT.m ├── TSAT_Tools │ ├── Examples │ │ ├── SineFunction.JPG │ │ ├── SineFunctionPts.mat │ │ ├── SinFunctionSplineFit.fig │ │ ├── SinFunctionPtsFromImage.fig │ │ ├── Ex_PolySumAndProd.m │ │ ├── Ex_ThermExp1DElastic.m │ │ ├── Ex_ReduceDataSet.m │ │ └── Ex_DigitizeImage.m │ ├── Tools │ │ ├── ReduceDataSet.m │ │ ├── PolyProd.m │ │ ├── ThermExp1DElastic.m │ │ ├── PolySum.m │ │ ├── trimLine.m │ │ ├── digitizeImage.m │ │ ├── extendLine.m │ │ └── lineOffset.m │ └── readme_tools.txt ├── TSAT_Examples │ ├── Averaging │ │ └── AveragingEx.slx │ ├── Air Properties │ │ └── AirPropsEx.slx │ ├── Matrix Tools │ │ └── MatrixToolsEx.slx │ ├── Interpolation │ │ ├── interpolationEx.slx │ │ └── run_InterpolationEx.m │ ├── Polynomial Fitting │ │ ├── PolyfitEx.slx │ │ ├── PolyfitExMovie.mp4 │ │ └── run_PolyfitEx.m │ ├── Fluid Energy Balance │ │ ├── CpvTDataAir.mat │ │ ├── FluidEnergyBalEx.slx │ │ └── run_FluidEnergyBalEx.m │ ├── Iterative Subsystem │ │ ├── IterSubsysEx.slx │ │ ├── TempProfile.mp4 │ │ └── run_IterSubsysEx.m │ ├── Material Transitions │ │ ├── MatTrans1D.mp4 │ │ ├── MatTrans2D.mp4 │ │ └── MatTransEx.slx │ ├── 2D Heat Transfer Test │ │ ├── HeatXTest2D.slx │ │ ├── TempProfile.mp4 │ │ └── run_HeatXTest2D.m │ ├── Pipe Heat Transfer (1D) │ │ ├── PipeHeatX.slx │ │ ├── TempProfile.mp4 │ │ └── run_PipeHeatX.m │ ├── Dynamic Material Properties │ │ ├── DynMatProps.slx │ │ └── DynMatPropsMovie.mp4 │ ├── Modular Stucture Modeling │ │ ├── ModularStruct.slx │ │ └── ModularStuctMovie.mp4 │ ├── Non-Isotropic Structures │ │ ├── NonIsotropicEx.slx │ │ ├── NonIsotropicMovie.mp4 │ │ └── run_NonIsotropicEx.m │ ├── Lumped Mass Heat Transfer │ │ └── LumpMassHeatXEx.slx │ ├── Radiation Between Plates (1D) │ │ ├── TempProfile.mp4 │ │ ├── RadBtwPlatesEx.slx │ │ └── run_RadBtwPlates.m │ ├── 2D Heat Transfer - Shape Options │ │ ├── HeatX2DShapeOpts.slx │ │ └── HeatX2DShapeOptsMovie.mp4 │ ├── Laminar Boundary Layer Heat Transfer │ │ ├── LamBLHeatXEx.slx │ │ ├── PolyfitMovie.mp4 │ │ └── LamBLheatXMovie.mp4 │ ├── Turbulent Boundary Layer Heat Transfer │ │ ├── PolyfitMovie.mp4 │ │ ├── TurbBLHeatXEx.slx │ │ └── TurbBLheatXMovie.mp4 │ └── 2D Heat Transfer - Rectangular Object │ │ ├── HeatX2DRectMovie.mp4 │ │ ├── HeatX2DRect_ADI.slx │ │ └── HeatX2DRect_Implicit.slx ├── uninstall_TSAT.m └── install_TSAT.m ├── LICENSE.txt └── readme_main.txt /Resources/TSATquickstart.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Resources/TSATquickstart.pdf -------------------------------------------------------------------------------- /NASA Open Source Agreement.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/NASA Open Source Agreement.pdf -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Lib.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Lib.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_AirProps.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_AirProps.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_GenHeatX.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_GenHeatX.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_GenTools.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_GenTools.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Conduction.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Conduction.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Convection.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Convection.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Deformation.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Deformation.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Radiation.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Radiation.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_GenTools_MinMax.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_GenTools_MinMax.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Tools/Examples/SineFunction.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Tools/Examples/SineFunction.JPG -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Averaging/AveragingEx.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Averaging/AveragingEx.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_AirProps_ThermCond.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_AirProps_ThermCond.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_AirProps_Viscosity.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_AirProps_Viscosity.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_FCSphere.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_FCSphere.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_GenTools_Averaging.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_GenTools_Averaging.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_GenTools_SubMatrix.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_GenTools_SubMatrix.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Tools/Examples/SineFunctionPts.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Tools/Examples/SineFunctionPts.mat -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Air Properties/AirPropsEx.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Air Properties/AirPropsEx.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/AirPropsLib.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Support/AirPropsLib.JPG -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/ConductionLib.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Support/ConductionLib.JPG -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/ConvectionLib.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Support/ConvectionLib.JPG -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/RadiationLib.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Support/RadiationLib.JPG -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_AirProps_HeatCapacity.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_AirProps_HeatCapacity.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Conduction_2DCondADI.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Conduction_2DCondADI.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_FCConcCyls.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_FCConcCyls.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_FCHorizCyl.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_FCHorizCyl.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_FalknerSkan.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_FalknerSkan.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_Gnielinski.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_Gnielinski.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_MixedConv.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_MixedConv.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_NonDimParms.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_NonDimParms.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_SiederTate.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_SiederTate.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_Sutherland.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_Sutherland.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_GenTools_LogisticFun.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_GenTools_LogisticFun.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_GenTools_PolynomialFit.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_GenTools_PolynomialFit.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Matrix Tools/MatrixToolsEx.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Matrix Tools/MatrixToolsEx.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/DeformationLib.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Support/DeformationLib.JPG -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/GeneralHeatXLib.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Support/GeneralHeatXLib.JPG -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/GeneralToolsLib.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Support/GeneralToolsLib.JPG -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Conduction_InterfaceTemp.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Conduction_InterfaceTemp.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_ColebrookCorr.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_ColebrookCorr.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_DittusBoelter.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_DittusBoelter.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_FCConcSpheres.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_FCConcSpheres.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_FCHorizPlate.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_FCHorizPlate.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_FilmCoolTref.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_FilmCoolTref.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_ImpingingJet.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_ImpingingJet.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_LamCoiledTube.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_LamCoiledTube.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_LamFlatPlate.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_LamFlatPlate.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_SimpConvHeatX.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_SimpConvHeatX.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_TurbFlatPlate.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_TurbFlatPlate.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_GenHeatX_LumpedMassHeatX.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_GenHeatX_LumpedMassHeatX.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_GenTools_1DlinearInterp.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_GenTools_1DlinearInterp.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_GenTools_2DlinearInterp.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_GenTools_2DlinearInterp.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_GenTools_3DlinearInterp.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_GenTools_3DlinearInterp.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Tools/Examples/SinFunctionSplineFit.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Tools/Examples/SinFunctionSplineFit.fig -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Interpolation/interpolationEx.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Interpolation/interpolationEx.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Polynomial Fitting/PolyfitEx.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Polynomial Fitting/PolyfitEx.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/LibraryBlockPics.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Support/LibraryBlockPics.pptx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_FCVertRectCavity.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_FCVertRectCavity.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_HeatCapIdealGas.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_HeatCapIdealGas.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_MixedBLFlatPlate.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_MixedBLFlatPlate.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_SimpNatConvHeatX.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_SimpNatConvHeatX.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_TurbAxiSymAmbrok.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_TurbAxiSymAmbrok.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_GenTools_WeightedAveraging.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_GenTools_WeightedAveraging.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Tools/Examples/SinFunctionPtsFromImage.fig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Tools/Examples/SinFunctionPtsFromImage.fig -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Fluid Energy Balance/CpvTDataAir.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Fluid Energy Balance/CpvTDataAir.mat -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Iterative Subsystem/IterSubsysEx.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Iterative Subsystem/IterSubsysEx.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Iterative Subsystem/TempProfile.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Iterative Subsystem/TempProfile.mp4 -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Material Transitions/MatTrans1D.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Material Transitions/MatTrans1D.mp4 -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Material Transitions/MatTrans2D.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Material Transitions/MatTrans2D.mp4 -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Material Transitions/MatTransEx.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Material Transitions/MatTransEx.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_AirProps_SpecificHeatConstVol.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_AirProps_SpecificHeatConstVol.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_ChurchillBernstein.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_ChurchillBernstein.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_FCHorizRectCavity.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_FCHorizRectCavity.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_FCTiltedRectCavity.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_FCTiltedRectCavity.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_FCVertIncPlateCyl.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_FCVertIncPlateCyl.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_FluidEnergyBalance.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_FluidEnergyBalance.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_HydraulicDiameter.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_HydraulicDiameter.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_LamCircTurbAnnulus.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_LamCircTurbAnnulus.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_LamIntFlwVarShapes.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_LamIntFlwVarShapes.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_SimpNatConvHeatXII.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_SimpNatConvHeatXII.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_TubeBankZukauskas.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_TubeBankZukauskas.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Deformation_ThermExp1DElastic.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Deformation_ThermExp1DElastic.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Radiation_HeatXCoeffRefPlanar.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Radiation_HeatXCoeffRefPlanar.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/2D Heat Transfer Test/HeatXTest2D.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/2D Heat Transfer Test/HeatXTest2D.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/2D Heat Transfer Test/TempProfile.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/2D Heat Transfer Test/TempProfile.mp4 -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Pipe Heat Transfer (1D)/PipeHeatX.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Pipe Heat Transfer (1D)/PipeHeatX.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Pipe Heat Transfer (1D)/TempProfile.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Pipe Heat Transfer (1D)/TempProfile.mp4 -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Polynomial Fitting/PolyfitExMovie.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Polynomial Fitting/PolyfitExMovie.mp4 -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Conduction_2DCondFullyImplicit.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Conduction_2DCondFullyImplicit.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_CylCrossFlowHilpert.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_CylCrossFlowHilpert.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_CylCrossFlowZukauskas.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_CylCrossFlowZukauskas.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_FalknerSkanTempVary.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_FalknerSkanTempVary.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_LamIncompFlatPlateBL.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_LamIncompFlatPlateBL.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_TurbIncompFlatPlateBL.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_TurbIncompFlatPlateBL.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Radiation_HeatXCoeffNonRefSink.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Radiation_HeatXCoeffNonRefSink.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Radiation_HeatXCoeffRefConcCyl.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Radiation_HeatXCoeffRefConcCyl.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Fluid Energy Balance/FluidEnergyBalEx.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Fluid Energy Balance/FluidEnergyBalEx.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/AirProps_TSAT_ThermCond.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Support/AirProps_TSAT_ThermCond.html -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/AirProps_TSAT_Viscosity.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Support/AirProps_TSAT_Viscosity.html -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_MixedIncompFlatPlateBL.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_MixedIncompFlatPlateBL.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_SphereCrossFlowWhitaker.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_SphereCrossFlowWhitaker.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Dynamic Material Properties/DynMatProps.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Dynamic Material Properties/DynMatProps.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Modular Stucture Modeling/ModularStruct.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Modular Stucture Modeling/ModularStruct.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Non-Isotropic Structures/NonIsotropicEx.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Non-Isotropic Structures/NonIsotropicEx.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Conduction_HeatX1DVarPropsAndGenBCs.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Conduction_HeatX1DVarPropsAndGenBCs.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_HexagonRodCrossFlowHilpert.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_HexagonRodCrossFlowHilpert.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_LamFlatPlate_ChurchillOzoe.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_LamFlatPlate_ChurchillOzoe.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_SquareRodCrossFlowHilpert.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_SquareRodCrossFlowHilpert.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_ThinPlateCrossFlowHilpert.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_ThinPlateCrossFlowHilpert.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Lumped Mass Heat Transfer/LumpMassHeatXEx.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Lumped Mass Heat Transfer/LumpMassHeatXEx.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Non-Isotropic Structures/NonIsotropicMovie.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Non-Isotropic Structures/NonIsotropicMovie.mp4 -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Radiation Between Plates (1D)/TempProfile.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Radiation Between Plates (1D)/TempProfile.mp4 -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_SimpConvHeatX.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_SimpConvHeatX.html -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Conduction_2DCondADI_IterSubsysCapable.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Conduction_2DCondADI_IterSubsysCapable.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_FCVertPlateLamConvAnalytical.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_FCVertPlateLamConvAnalytical.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Convection_TurbFlatPlatePowLawTempVary.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Convection_TurbFlatPlatePowLawTempVary.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Dynamic Material Properties/DynMatPropsMovie.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Dynamic Material Properties/DynMatPropsMovie.mp4 -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Modular Stucture Modeling/ModularStuctMovie.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Modular Stucture Modeling/ModularStuctMovie.mp4 -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Radiation Between Plates (1D)/RadBtwPlatesEx.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Radiation Between Plates (1D)/RadBtwPlatesEx.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_SimpNatConvHeatX.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_SimpNatConvHeatX.html -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_SimpNatConvHeatXII.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_SimpNatConvHeatXII.html -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/2D Heat Transfer - Shape Options/HeatX2DShapeOpts.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/2D Heat Transfer - Shape Options/HeatX2DShapeOpts.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Laminar Boundary Layer Heat Transfer/LamBLHeatXEx.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Laminar Boundary Layer Heat Transfer/LamBLHeatXEx.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Laminar Boundary Layer Heat Transfer/PolyfitMovie.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Laminar Boundary Layer Heat Transfer/PolyfitMovie.mp4 -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Laminar Boundary Layer Heat Transfer/LamBLheatXMovie.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Laminar Boundary Layer Heat Transfer/LamBLheatXMovie.mp4 -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Turbulent Boundary Layer Heat Transfer/PolyfitMovie.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Turbulent Boundary Layer Heat Transfer/PolyfitMovie.mp4 -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Turbulent Boundary Layer Heat Transfer/TurbBLHeatXEx.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Turbulent Boundary Layer Heat Transfer/TurbBLHeatXEx.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Conduction_2DCondFullyImplicit_IterSubsysCapable.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Conduction_2DCondFullyImplicit_IterSubsysCapable.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/2D Heat Transfer - Rectangular Object/HeatX2DRectMovie.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/2D Heat Transfer - Rectangular Object/HeatX2DRectMovie.mp4 -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/2D Heat Transfer - Rectangular Object/HeatX2DRect_ADI.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/2D Heat Transfer - Rectangular Object/HeatX2DRect_ADI.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/2D Heat Transfer - Shape Options/HeatX2DShapeOptsMovie.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/2D Heat Transfer - Shape Options/HeatX2DShapeOptsMovie.mp4 -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Turbulent Boundary Layer Heat Transfer/TurbBLheatXMovie.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/Turbulent Boundary Layer Heat Transfer/TurbBLheatXMovie.mp4 -------------------------------------------------------------------------------- /Trunk/TSAT_Library/lib_Conduction_HeatX1DVarPropsAndGenBCs_IterSubsysCapable.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Library/lib_Conduction_HeatX1DVarPropsAndGenBCs_IterSubsysCapable.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/2D Heat Transfer - Rectangular Object/HeatX2DRect_Implicit.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nasa/TSAT/HEAD/Trunk/TSAT_Examples/2D Heat Transfer - Rectangular Object/HeatX2DRect_Implicit.slx -------------------------------------------------------------------------------- /Trunk/TSAT_Library/slblocks.m: -------------------------------------------------------------------------------- 1 | function blkStruct = slblocks 2 | % Specify that the product should appear in the library browser 3 | % and be cached in its repository 4 | Browser.Library = 'TSAT_Lib'; 5 | Browser.Name = 'TSAT'; 6 | Browser(1).Choice = 1; 7 | blkStruct.Browser = Browser; -------------------------------------------------------------------------------- /Trunk/TSAT_Library/MATLAB_Scripts/MSK_ReplaceBlock_TSAT.m: -------------------------------------------------------------------------------- 1 | 2 | function MSK_ReplaceBlock_TMATS(oldblock,newblock) 3 | 4 | pos = get_param(oldblock,'Position'); 5 | orient = get_param(oldblock,'Orientation'); 6 | delete_block(oldblock); 7 | add_block(newblock,oldblock,'Position',pos,'Orientation',orient); 8 | 9 | end -------------------------------------------------------------------------------- /Trunk/TSAT_Tools/Tools/ReduceDataSet.m: -------------------------------------------------------------------------------- 1 | function [ T,Y ] = ReduceDataSet( t,y,dt ) 2 | %ReduceDataSet.m Summary 3 | % This function takes the data set (t,y) and reduces the number of points 4 | % by only retaining the data points that are spaced approximately dt 5 | % apart. 6 | 7 | n = 0; 8 | for i = 1:length(t) 9 | if t(i) >= (n*dt + t(1)) 10 | T(n+1) = t(i); 11 | Y(n+1) = y(i); 12 | n = n + 1; 13 | end 14 | end 15 | 16 | end 17 | 18 | -------------------------------------------------------------------------------- /Trunk/TSAT_Tools/Tools/PolyProd.m: -------------------------------------------------------------------------------- 1 | function [ Poly ] = PolyProd( p1,p2 ) 2 | 3 | %This function take two polynomial p1 and p2 represented by a vector of 4 | %their coefficients and multiplys them to find the product polynomial Poly. 5 | 6 | %Ex: p1 = s^2 + 2*s + 3 --> p1 = [1 2 3] 7 | 8 | order = length(p1) + length(p2) - 2; 9 | 10 | P = zeros(length(p1),order+1); 11 | for i = 1:length(p1) 12 | P(i,i:i+length(p2)-1) = p1(i)*p2; 13 | end 14 | Poly = zeros(1,order+1); 15 | for i = 1:order+1 16 | Poly(i) = sum(P(:,i)); 17 | end 18 | 19 | end 20 | 21 | -------------------------------------------------------------------------------- /Trunk/TSAT_Tools/Tools/ThermExp1DElastic.m: -------------------------------------------------------------------------------- 1 | function [ L ] = ThermExp1DElastic( T_data, alpha_data, To, Tf, Lo ) 2 | %This function mimics the operation of the TSAT Thermal Expansion 1D 3 | %Elastic block 4 | 5 | n = 20; 6 | T = linspace(To,Tf,n); 7 | alpha = zeros(1,n); 8 | for i = 1:n 9 | if T(i) <= T_data(1) 10 | alpha(i) = alpha_data(1); 11 | elseif T(i) >= T_data(end) 12 | alpha(i) = alpha_data(end); 13 | else 14 | alpha(i) = interp1(T_data,alpha_data,T(i),'linear'); 15 | end 16 | end 17 | 18 | Int_alphadT = trapz(T,alpha); 19 | dL = Lo*Int_alphadT; 20 | 21 | L = Lo + dL; 22 | 23 | end 24 | 25 | -------------------------------------------------------------------------------- /Trunk/TSAT_Tools/Tools/PolySum.m: -------------------------------------------------------------------------------- 1 | function [ Poly ] = PolySum( p1,p2 ) 2 | 3 | %Sums the 2 polynomials given their coefficients 4 | if length(p1) == length(p2) 5 | Poly = p1 + p2; 6 | elseif length(p1) > length(p2) 7 | P2 = zeros(1,length(p1)); 8 | k = length(p2); 9 | for i = length(p1):-1:length(p1)-length(p2)+1 10 | P2(i) = p2(k); 11 | k = k -1; 12 | end 13 | Poly = p1 + P2; 14 | elseif length(p1) < length(p2) 15 | P1 = zeros(1,length(p2)); 16 | k = length(p1); 17 | for i = length(p2):-1:length(p2)-length(p1)+1 18 | P1(i) = p1(k); 19 | k = k -1; 20 | end 21 | Poly = p2 + P1; 22 | end 23 | 24 | end 25 | 26 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | LICENSE 2 | 3 | The Thermal Systems Analysis Toolbox (TSAT) has an Open Source License. It is 4 | 5 | Licensed under the 6 | Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with 7 | the License. 8 | You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | 13 | Unless required by applicable law or agreed to in writing, software 14 | distributed under the License 15 | is distributed on an "AS IS" BASIS, 16 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 17 | or implied. 18 | See the License for the specific language governing permissions and 19 | limitations under 20 | the License. 21 | 22 | See the "NASA Open Source Agreement.pdf" document for more details on the license. -------------------------------------------------------------------------------- /Trunk/TSAT_Library/MATLAB_Scripts/MSK_SEC_Enables3_TSAT.m: -------------------------------------------------------------------------------- 1 | function MSK_SEC_Enables3_TSAT(var,i,pref) 2 | 3 | A = get_param(gcb,'MaskEnables'); 4 | for n = 1:length(i) 5 | switch pref 6 | case 'en' % turn output on when checked 7 | switch var 8 | case 'on' 9 | A(i(n)) = {'on'}; 10 | case 'off' 11 | A(i(n)) = {'off'}; 12 | otherwise 13 | A(i(n)) = {'on'}; 14 | end 15 | case 'dis' % turn output off when checked 16 | switch var 17 | case 'on' 18 | A(i(n)) = {'off'}; 19 | case 'off' 20 | A(i(n)) = {'off'}; 21 | otherwise 22 | A(i(n)) = {'on'}; 23 | end 24 | end 25 | end 26 | set_param(gcb, 'MaskEnables',A); -------------------------------------------------------------------------------- /Trunk/TSAT_Tools/Examples/Ex_PolySumAndProd.m: -------------------------------------------------------------------------------- 1 | % Ex_PolySumAndProd.m ====================================================% 2 | 3 | % Written By: Jonathan Kratz 4 | % Date: January 2, 2018 5 | % Description: This script illustrates the usage of the "PolySum.m" 6 | % and "PolyProd" function. These are general-use tool that can be used to 7 | % sum and multiply polynomials. 8 | 9 | close all 10 | clear all 11 | clc 12 | 13 | % Polynomials 14 | p1 = [1 2 3]; % x^2 + 2*x + 3 15 | p2 = [3 -5 -1 2]; % 3*x^3 - 5*x^2 - 1*x + 2 16 | 17 | % Polynomial Sum 18 | pSum = PolySum(p1,p2); 19 | fprintf('Summation of p1 and p2 = %-2.0ix^3 + %-2.0ix^2 + %-2.0ix + %-2.0i\n',pSum(1),pSum(2),pSum(3),pSum(4)); 20 | 21 | % Polynomial Product 22 | pProd = PolyProd(p1,p2); 23 | fprintf('Product of p1 and p2 = %-2.0ix^5 + %-2.0ix^4 + %-2.0ix^3 + %-2.0ix^2 + %-2.0ix + %-2.0i\n',pProd(1),pProd(2),pProd(3),pProd(4),pProd(5),pProd(6)); -------------------------------------------------------------------------------- /Trunk/TSAT_Library/MATLAB_Scripts/MSK_SEC_Enables2_TSAT.m: -------------------------------------------------------------------------------- 1 | function MSK_SEC_Enables2_TMATS(var,i,pref) 2 | 3 | A = get_param(gcb,'MaskEnables'); 4 | for n = 1:length(i) 5 | switch pref 6 | case 'en' % turn output on when checked 7 | switch get_param(gcb,var) 8 | case 'on' 9 | A(i(n)) = {'on'}; 10 | case 'off' 11 | A(i(n)) = {'off'}; 12 | otherwise 13 | A(i(n)) = {'on'}; 14 | end 15 | case 'dis' % turn output off when checked 16 | switch get_param(gcb,var) 17 | case 'on' 18 | A(i(n)) = {'off'}; 19 | case 'off' 20 | A(i(n)) = {'off'}; 21 | otherwise 22 | A(i(n)) = {'on'}; 23 | end 24 | end 25 | end 26 | set_param(gcb, 'MaskEnables',A); -------------------------------------------------------------------------------- /Trunk/TSAT_Library/MATLAB_Scripts/MSK_SEC_Enables_TSAT.m: -------------------------------------------------------------------------------- 1 | function MSK_SEC_Enables_TMATS(var,i,pref) 2 | 3 | A = get_param(gcb,'MaskEnables'); 4 | for n = 1:length(i) 5 | switch pref 6 | case 'en' % turn output on when checked 7 | switch get_param(gcb,var) 8 | case 'on' 9 | A(i(n)) = {'on'}; 10 | case 'off' 11 | A(i(n)) = {'off'}; 12 | otherwise 13 | A(i(n)) = {'on'}; 14 | end 15 | case 'dis' % turn output off when checked 16 | switch get_param(gcb,var) 17 | case 'on' 18 | A(i(n)) = {'off'}; 19 | case 'off' 20 | A(i(n)) = {'on'}; 21 | otherwise 22 | A(i(n)) = {'on'}; 23 | end 24 | end 25 | end 26 | set_param(gcb, 'MaskEnables',A); -------------------------------------------------------------------------------- /Trunk/TSAT_Tools/Examples/Ex_ThermExp1DElastic.m: -------------------------------------------------------------------------------- 1 | % Ex_ThermExp1DElastic.m ==================================================% 2 | 3 | % Written By: Jonathan Kratz 4 | % Date: January 2, 2018 5 | % Description: This script illustrates the usage of the 6 | % "ThermExp1DElastic.m" function. It performs the same task as the "Thermal 7 | % Expansion 1D Elastic" block. In the example, Inconel 718 will be 8 | % considered. 9 | 10 | clear all 11 | close all 12 | clc 13 | 14 | % thermal expansion coefficient data 15 | T_data = [659.7, 859.7, 1059.7, 1359.7, 1459.7, 1659.7, 1859.7]; %temperature [R] 16 | alpha_data = [0.0000071, 0.0000075, 0.0000077, 0.0000079, 0.000008, 0.0000084, 0.0000089]; %thermal expansion coefficient [1/R] 17 | To = 700; %initial temperature [R] 18 | Tf = 1800; %final temperature [R] 19 | Lo = 1; %initial length of the object [ft] 20 | 21 | % execute function 22 | [ L ] = ThermExp1DElastic( T_data, alpha_data, To, Tf, Lo ); 23 | 24 | % display results 25 | fprintf('Initial Length @ %-5.4fR: %-5.4fin\n',To,Lo*12) 26 | fprintf('Final Length @ %-5.4fR: %-5.4fin\n',Tf,L*12) -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/GenTools_TSAT_Averaging.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Averaging Library Block 6 |
7 |

This block is meant for averaging 1-D and 2-D arrays. It can be used to return the average of the rows, columns, or all values within the data set.

8 | Averaging Inputs: 9 | 10 | 11 |
Averaging InputsDescription
Data1-D or 2-D array of data you wish to average [nxm]
12 |
13 | Averaging Outputs: 14 | 15 | 16 | 17 | 18 |
Averaging OutputsDescription
Average - RowsAverage of the each row of the data array [nx1]
Average - ColumnsAverage of the each column of the data array [1xm]
Average - AllAverage of all of the entries in the data array [1x1]
19 |
20 | Averaging Mask Variables: 21 | 22 | 23 | 24 | 25 |
Averaging Mask VariablesDescription
avg_rows_MCheck this box if you want to output the average of the rows
avg_cols_MCheck this box if you want to output the average of the columns
avg_all_MCheck this box if you want to output the average of all entries
-------------------------------------------------------------------------------- /Trunk/TSAT_Tools/Examples/Ex_ReduceDataSet.m: -------------------------------------------------------------------------------- 1 | % Ex_ReduceDataSet.m ==================================================% 2 | 3 | % Written By: Jonathan Kratz 4 | % Date: January 2, 2018 5 | % Description: This script illustrates the usage of the "ReduceDataSet.m" 6 | % function.This is a general-use tool. It is useful when dealing with 7 | % oversized data structures. For instance, if time-dependent data is 8 | % being used to drive a TSAT simulation (or other simulation for that 9 | % matter) and the data is supplied at a frequency that is unnecessary large 10 | % (very small time-step) then the "ReduceDataSet.m" function can be used to 11 | % reduce the data set to be more constitent with a prescribed time-step. 12 | % Reducing the size of the data structure may be necessary or could help to 13 | % improve simulation time. To illustrate this a set of data (t,y) will be 14 | % created to resemble a sine functon being sampled at time intervals of 15 | % 0.001sec. Then the data set will be reduced by the function to time 16 | % intervals of approximately 0.1sec. 17 | 18 | close all 19 | clear all 20 | clc 21 | 22 | % create high sample frequency data (t,y) 23 | t = [0:0.001:2*pi]; 24 | y = sin(8*t); 25 | 26 | % reduce the data set 27 | [T,Y] = ReduceDataSet( t,y,0.1 ); 28 | 29 | % plot results 30 | plot(t,y,'-b','LineWidth',2) 31 | hold on 32 | plot(T,Y,'--r','LineWidth',2) 33 | hold off 34 | xlabel('Time [sec]') 35 | ylabel('y') 36 | legend('Original Data','Reduced Data',0) 37 | xlim([t(1),t(end)]) 38 | 39 | % number of data points 40 | fprintf('Number of original data points: %-5.0i\n',length(y)) 41 | fprintf('Number of data points in the reduced data set: %-5.0i\n',length(Y)) -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/GenTools_TSAT_MinMax.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Matrix MinMax Library Block 6 |
7 |

This block is meant for determining the minimum or maximum value(s) in 1-D and 2-D arrays. It can be used to return the min or max of the rows, columns, or all values within the data set.

8 | Matrix MinMax Inputs: 9 | 10 | 11 |
Matrix MinMax InputsDescription
Data1-D or 2-D array of data you wish to find the min/max(s) [nxm]
12 |
13 | Matrix MinMax Outputs: 14 | 15 | 16 | 17 | 18 |
Matrix MinMax OutputsDescription
Min/Max - RowsMin/Max of the each row of the data array [nx1]
Min/Max - ColumnsMin/Max of the each column of the data array [1xm]
Min/Max - AllMin/Max of all of the entries in the data array [1x1]
19 |
20 | Matrix MinMax Mask Variables: 21 | 22 | 23 | 24 | 25 |
Matrix MinMax Mask VariablesDescription
rows_MCheck this box if you want to output the min/max of the rows
cols_MCheck this box if you want to output the min/max of the columns
all_MCheck this box if you want to output the min/max of all entries
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/AirProps_TSAT_HeatCapacity.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Air Properies - Heat Capacity Library Block 6 |
7 |

This function provides an estimate of the heat capacity of air given its temperature. The function uses empirical relations which are valid for dry air in the temperature range of 60K - 2000K (108R - 3600R) and pressures up to 2000MPa. The resource for this empirical correlations is:

8 |

Lemmon, E., Jacobsen, R., Penoncello, S., and Friend, D., Thermodynamic Properties of Air and Mixtures of Nitrogen, Argon, and Oxygen From 60 to 2000K at pressure to 2000MPa, Journal of Physics Chemistry Reference Data, Vol. 29, No. 3, 2000 9 |

This function is capable of evaluating the heat capacity for various temperatures at the same time given an array of temperature inputs. 10 |

Units are clearly stated on the inport and outport so assure that your inputs are in the specified units and the output is properly converted to your desired units after the calculation.

11 | 12 | Air Properies - Heat Capacity Inputs: 13 | 14 | 15 |
Air Properies - Heat Capacity InputsDescription
TTemperature of the air in degrees Rankine (R) (nx1)
16 |
17 | Air Properies - Heat Capacity Outputs: 18 | 19 | 20 |
Air Properies - Heat Capacity OutputsDescription
CpHeat capacity of the air in Btu/(slug-R) (nx1)
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_ColebrookCorr.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Colebrook Correlation Library Block 6 |
7 |

This block approximates the friction factor for fully developed turbulent flow in a circular pipe using the Colebrook correlation. The correlation accounts for surface roughness. The Colebrook correlation is solved in this block using the secant root method. Parameters include surface roughness (e) and the diameter of the pipe (D). The ratio of these quanties (e/D) is what really matters in the calculation. As long as this ratio is correct the friction factor calculation will be valid.

8 | Colebrook Correlation Inputs: 9 | 10 | 11 |
Colebrook Correlation InputsDescription
ReReynolds number based on the pipe diameter [1x1]
12 |
13 | Colebrook Correlation Outputs: 14 | 15 | 16 | 17 |
Colebrook Correlation OutputsDescription
ffriction factor [1x1]
convOutput is 1 if the iterative solver converged and 0 if it did not [1x1]
18 |
19 | Colebrook Correlation Mask Variables: 20 | 21 | 22 | 23 |
Colebrook Correlation Mask VariablesDescription
e_MSurface roughness (has units of length) [1x1]
D_MDiameter of the pipe [1x1]
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_HydraulicDiameter.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Hydraulic Diameter Library Block 6 |
7 |

Reference for the information in this help file and the presented correlation: Incropera, F.P., and DeWitt, D.P., Fundamentals of Heat and Mass Transfer, John Wiley & Sons, New York, NY, 2002. Print.

8 |

This block calculates the hydraulic diameter (Dh) of an arbitrary shape based on its area (A) and perimeter (P). The units of the inputs must be consistent and the units of the outputs will be the same as the length unit used in the inputs. The hydrualic diameter is useful for evaluating heat transfer in non-circular tubes. The equation for calculating the hydraulic diameter is simply:

9 | $$ 10 | Dh = \frac{4A}{P} 11 | $$ 12 |

In most applications this block may be used to return a single hydraulic diameter for a single tube of constant cross-sectional shape. However, this block does have ability to perform multiple calculations given consistently sized 1-D arrays for each of the inputs.

13 | 14 | Hydraulic Diameter Inputs: 15 | 16 | 17 | 18 |
Hydraulic Diameter InputsDescription
AArea of the cross-section [nx1]
PPerimeter of the cross-section [nx1]
19 |
20 | Hydraulic Diameter Outputs: 21 | 22 | 23 |
Hydraulic Diameter OutputsDescription
DhHydraulic diameter [nx1]
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/GenTools_TSAT_PolynomialFit.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Polynomial Fit Library Block 6 |
7 |

This block allow for on-the-fly polynomial fits to data. The power of the polynomial is given as a parameter and the data is the inputs. The output is the polynomial coefficients:

8 | $$ 9 | y(x) = a_0 + a_1x + a_2x^2 + ... + a_Nx^N 10 | $$ 11 | $$ 12 | a = [a_0 \: a_1 \: a_2 \: ... \: a_N] 13 | $$ 14 |

Note that the data arrays must be the same length and the power of the polynomial must be a positive integer that is less than or equal to the number of data points. Furthermore the x data must be monotonically increasing and both data vectors must be made entirely of finite numbers.

15 | 16 | Polynomial Fit Inputs: 17 | 18 | 19 | 20 |
Polynomial Fit InputsDescription
xdataIndependent variable data [nx1]
ydataDependent variable data [nx1]
21 |
22 | Polynomial Fit Outputs: 23 | 24 | 25 |
Polynomial Fit OutputsDescription
aPolynomial coefficients [(N+1)x1]
26 |
27 | Polynomial Fit Masked Variables: 28 | 29 | 30 | 31 |
Polynomial Fit Masked VariablesDescription
N_MPower of the polynomial [1x1]
BN_MBlock name. It's a hidden parameter used for error reporting purposes.
32 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_FilmCoolTref.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Film Cooling Reference Temperature Library Block 6 |
7 |

This function computes the effective temperature of the fluid on the surface of a structure due to film cooling. The model utilizes a film cooling coefficient to determine this reference temperature (T_ref) based one the temperatures of the hot flow path (T_hot) and cooling flow (T_cool).

8 | $$ 9 | T_{ref} = T_{hot} + \eta \left( T_{cool}-T_{hot} \right) 10 | $$ 11 |

Units of the inputs must be consistent and the output will be in the same units as the input.

12 | Film Cooling Reference Temperature Inputs: 13 | 14 | 15 | 16 |
Film Cooling Reference Temperature InputsDescription
T_hotTemperature of the hot flow path [nxm]
T_coolTemperature of the flow used for film cooling [nxm]
17 |
18 | Film Cooling Reference Temperature Outputs: 19 | 20 | 21 |
Film Cooling Reference Temperature OutputsDescription
T_refThe effective reference temperature of the fluid in contact with the structure [nxm]
22 |
23 | Film Cooling Reference Temperature Mask Variables: 24 | 25 | 26 |
Film Cooling Reference Temperature Mask VariablesDescription
eta_MFilm cooling coefficient. This number between 0 and 1 determines the effectiveness of the film cooling. [1x1]
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/GenTools_TSAT_SubMatrix.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Sub-Matrix (2D) Library Block 6 |
7 |

This block returns a sub-matrix within the input matrix given the row and column indices the define the sub-matrix. This block is meant for 2D matrices and will work for 1D arrays as well.

8 |

To avoid errors, observe some restrictions. The input matrix, MAT, must be a 1-D or 2-D array. The starting and ending indexes for the rows and columns (R1_M, R2_M, C1_M, C2_M) must be real, finite, postive, integer scalars. Also the row indexes may not exceed the number of rows in MAT and the column indexes may not exceed the number of columns in MAT. Furthermore, The ending indexes must be greater than or equal to the starting indexes (R2_M >= R1_M, C2_M >= C1_M).

9 | 10 | Sub-Matrix (2D) Inputs: 11 | 12 | 13 |
Sub-Matrix (2D) InputsDescription
MAT1-D or 2-D Array (Matrix) [nxm]
14 |
15 | Sub-Matrix (2D) Outputs: 16 | 17 | 18 |
Sub-Matrix (2D) OutputsDescription
subMATSub-matrix within MAT corresponding to the given row and column indexes [(R2_M-R1_M)+1 x (C2_M-C1_M)+1]
19 |
20 | Sub-Matrix (2D) Masked Variables: 21 | 22 | 23 | 24 | 25 | 26 |
Sub-Matrix(2D) Masked VariablesDescription
R1_MStarting row index [1x1]
R2_MEnding row index [1x1]
C1_MStarting column index [1x1]
C2_MEnding column index [1x1]
27 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/AirProps_TSAT_SpecificHeatConstVol.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Air Properies - Specific Heat at Constant Volume Library Block 6 |
7 |

This function provides an estimate of the constant volume specific heat of air given its temperature and density. The function uses empirical relations which are valid for dry air in the temperature range of 60K - 2000K (108R - 3600R) and pressures up to 2000MPa. The resource for this empirical correlations is:

8 |

Lemmon, E., Jacobsen, R., Penoncello, S., and Friend, D., Thermodynamic Properties of Air and Mixtures of Nitrogen, Argon, and Oxygen From 60 to 2000K at pressure to 2000MPa, Journal of Physics Chemistry Reference Data, Vol. 29, No. 3, 2000 9 |

This function is capable of evaluating the specific heat for various temperatures at the same time given an arrays of temperature and density. 10 |

Units are clearly stated on the inport and outport so assure that your inputs are in the specified units and the output is properly converted to your desired units after the calculation.

11 | 12 | Air Properies - Specific Heat at Constant Volume Inputs: 13 | 14 | 15 | 16 |
Air Properies - Specific Heat at Constant Volume InputsDescription
TTemperature of the air in degrees Rankine (R) (nx1)
rhoDensity of the air (slug/ft^3) (nx1)
17 |
18 | Air Properies - Specific Heat at Constant Volume Outputs: 19 | 20 | 21 |
Air Properies - Specific Heat at Constant Volume OutputsDescription
CvSpecific heat at constant volume of the air (Btu/(slug-R)) (nx1)
-------------------------------------------------------------------------------- /Trunk/TSAT_Tools/Examples/Ex_DigitizeImage.m: -------------------------------------------------------------------------------- 1 | % Ex_digitizeImage.m =====================================================% 2 | 3 | % Written By: Jonathan Kratz 4 | % Date: January 2, 2018 5 | % Description: Follows the instruction to through this example to 6 | % illustrate usage of the digitizeImage function. 7 | 8 | % Instructions: 9 | % (1) Run this scrip to call the digitizeImage function. The function 10 | % will read in the "SineFunction.jpg" image file. 11 | % (2) Follow the input prompts to identify the origin of the image 12 | % (origin of the plot) and a known x,y location (for example: the 13 | % peak at x = pi/2, y = 1) 14 | % (3) Enter "y" to the prompt that asks if the data points should be 15 | % connected with a spline (this is optional) 16 | % (3) Follow the prompt to pick various points overlapping the sine 17 | % function in the image. Start from the left and work to the right. 18 | % Pick the points such that they are spaced appropriately to capture 19 | % the shape to the sine function. When you are done selecting the 20 | % last point, press "Enter". The coordinates of the selected points 21 | % should be returned. 22 | % The figures "SinFunctionSplineFit.fig' and "SinFunctionPtsFromImage.fig" 23 | % provide example of what the spline fit should resemble after the points 24 | % have been selected and how the selected points might compare to a sine 25 | % function generated by MATLAB. 26 | % 27 | 28 | % Digitize the Image 29 | [ x,y ] = digitizeImage( 'SineFunction.jpg' ); 30 | 31 | % Plot Results 32 | X = linspace(-2*pi,2*pi,100); 33 | Y = sin(X); 34 | figure() 35 | plot(X,Y,'-b') 36 | hold on 37 | plot(x,y,'xk') 38 | xlabel('x') 39 | ylabel('y') 40 | title('Sine Function Points From Image') 41 | 42 | % Save the results 43 | SaveRes = input('Save the results (x,y) to a MAT-file (y/n)? ','s'); 44 | if strcmp(SaveRes,'y') 45 | fn = input('Filename: ','s'); 46 | save(fn,'x','y'); 47 | end -------------------------------------------------------------------------------- /Trunk/TSAT_Tools/readme_tools.txt: -------------------------------------------------------------------------------- 1 | readme_tools.txt 2 | 3 | Created: 12/12/2017 4 | 5 | The "Tools" folder contains a variety of MATLAB functions that can be used to assist in thermal 6 | modeling and analysis. Below is a list of the tools with a short description. 7 | 8 | LIST OF TOOLS: 9 | 10 | - CubicSpline.m: returns the coefficients of all the cubic splines connecting points in 11 | a given data set. 12 | 13 | - CubicSplineInterp.m: uses the cubic spline coefficient produced by "CubicSpline.m" to 14 | interpolate or return the first, second, or third derivative at any x-value(s) 15 | along the span of the original data set. 16 | 17 | - digitizeImage.m: an interactive function that can be used to extract data from images. 18 | 19 | - extendLine.m: this function will append a data set with an additional point to extend the 20 | a line to the presribed value through linear or cubic spline extrapolation. 21 | 22 | - lineOffset.m: this function will offset a line above, below, or in both directions. 23 | 24 | - ReduceDataSet.m: reduces a data set to be more consistent with the prescribed interval of 25 | the independent variable. For example, if time-dependent data is recorded at a rate 26 | that is much faster than is necessary for your application, this function can be used 27 | to reduce the data set to a more appropriate time interval. 28 | 29 | - ThermExp1DElastic.m: Models 1D elastic thermal expansion of an object. 30 | 31 | - trimLine.m: this function will truncate and append a data set with an additional point 32 | to trim a line to the prescribed value. 33 | 34 | - PolyProd.m: given the coefficient of 2 polynomials, it returns the coefficients of the 35 | product of the 2 polynomials. 36 | 37 | - PolySum.m: given the coefficient of 2 polynomials, it returns the coefficients of the 38 | sum of the 2 polynomials. 39 | 40 | The use of each of these tools is illustrated within and example scripts inside the "Examples" 41 | folder -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/GenTools_TSAT_1DlinearInterp.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: 1D Linear Interpolation Library Block 6 |
7 |

This block performs linear interpolation on a set of data (x_data, y_data) at interpolation points defined in the array x_int. The inputs must be the appropriate dimensions which are noted in the tables below. If incorrect dimension are specified then y_int will be output as an array of ones the size of x_int and a warning will be printed to the screen. The independent data array, x_data, must be monotonically increasing. If x_int has values in it that are outside the range of x_data then y_int will be assigned the value of the y_data array at the closest data point.

8 | 1D Linear Interpolation Inputs: 9 | 10 | 11 | 12 | 13 |
1D Linear Interpolation InputsDescription
x_data1-D array of data corresponding to the independent variable [nx1]
y_data1-D array of data corresponding to the dependent variable [nx1]
x_int1-D array of interpolation points corresponding to the independent variable [px1]
14 |
15 | 1D Linear Interpolation Outputs: 16 | 17 | 18 |
1D Linear Interpolation OutputsDescription
y_int1-D array of interpolation points corresponding to the dependent variable [px1]
19 |
20 | 1D Linear Interpolation Mask Variables: 21 | 22 | 23 |
1D Linear Interpolation Mask VariablesDescription
BN_MBlock name (hidden variable that is used in warning messages)
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_CylinderCrossFlowChurchillBern.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Cylinder Cross Flow - Churchill & Bernstein Library Block 6 |
7 |

This block estimates the average Nusselt number of an external flow over an isothermal cylinder using a correlation developed by Churchill and Bernstein:

8 |

S.W. Chruchill, and M. Bernstein, J. Heat Transfer, 99, 300, 1977.

9 |

The correlation is:

10 | $$ 11 | Nu = 0.3 + \frac{0.62Re^{1/2}Pr^{1/3}}{\left[ 1 + (0.4/Pr)^{2/3} \right]^{1/4}} \left[ 1 + \left( \frac{Re}{282000} \right)^{5/8} \right]^{4/5} 12 | $$ 13 |

where Nu is the Nusselt number, Re is the Reynolds number (with characteristic length = diameter of the cylinder), and Pr is the Prandtl number. Note that all fluid properrties should be evaluated at film temperature. The correlation is valid for a wide range of conditions but subject to the following restrictions: 14 | $$ 15 | RePr \geq 0.2 16 | $$ 17 |

This block is capable of performing multiple Nusselt number approximations given 1-D input arrays of the same size.

18 | 19 | Cylinder Cross Flow - Churchill & Bernstein Inputs: 20 | 21 | 22 | 23 |
Cylinder Cross Flow - Churchill & Bernstein InputsDescription
ReReynolds number (based on the diameter of the cylinder) [nx1]
PrPrandtl number [nx1]
24 |
25 | Cylinder Cross Flow - Churchill & Bernstein Outputs: 26 | 27 | 28 | 29 |
Cylinder Cross Flow - Churchill & Bernstein OutputsDescription
NuAverage Nusselt number [nx1]
ValidityVariable indicating if the Re and Pr restictions are violated or not. The value of 1 if a violation is present and 0 otherwise. [nx1]
30 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_FCSphere.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Sphere Free Convection Library Block 6 |
7 |

Reference for the information in this help file: Incropera, F.P., and DeWitt, D.P., Fundamentals of Heat and Mass Transfer, John Wiley & Sons, New York, NY, 2002. Print.

8 |

This block estimates the average Nusselt number of a free convecting flow about a sphere using a correlation recommended by Churchill. The reference and correlation is given below:

9 |

S. W. Churchill, "Free Convection Around Immersed Bodies," in G. F. Hewitt, Exec. Ed., Heat Exchanger Design Handbook, Section 2.5.7, Begell Hous, New York, 2002.

10 | $$ 11 | Nu = 2 + \frac{0.589 Ra^{1/4}}{ \left[ 1 + \left( 0.469/Pr \right)^{9/16} \right]^{4/9} }, \: \: \left( Ra \leq 10^{11}, \: Pr \geq 0.7 \right) 12 | $$ 13 |

The Rayliegh number should use the sphere diamter as the characteristich length. Note that all fluid properties should be evaluated at the film temperature (average of the bulk fluid and surface temperatures). This block is capable of performing multiple calculations given 1-D arrays of consistent size for the inputs.

14 | 15 | Sphere Free Convection Inputs: 16 | 17 | 18 | 19 |
Sphere Free Convection InputsDescription
RaRayliegh number (Characteristic Length = Sphere Diameter) [nx1]
PrPrandtl number [nx1]
20 |
21 | Sphere Free Convection Outputs: 22 | 23 | 24 | 25 |
Sphere Free Convection OutputsDescription
NuAverage Nusselt number over the circumference of the cylinder [nx1]
ValidityVariable indicating if the any of the applicable restrictions were violated. This value will be 1 if this condition is viloated and 0 otherwise. [nx1]
-------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Polynomial Fitting/run_PolyfitEx.m: -------------------------------------------------------------------------------- 1 | % run_PolyfitEx.m ========================================================% 2 | 3 | % Written By: Jonathan Kratz (NASA GRC) 4 | % Date: 12/13/2017 5 | % Description: This script populates the workspace for the 6 | % Polyfit.slx model to run, executes the model, and plot display the 7 | % results. The results are shown in the form of a generated movie which 8 | % shows how the polynomial fit changes over time. Also given is a plot 9 | % that shows how the polynomial coefficents change with time. The example 10 | % demonstrates a 6th degree polynomial fit to dynamically changing data. 11 | 12 | close all 13 | clear all 14 | clc 15 | 16 | % Define workspace variables ---------------------------------------------% 17 | 18 | % 19 | x = [0 1 2 3 5 6 7 8 9 10]; 20 | y0 = [1 2 2.5 3 3.5 5 7 6 7 8]; 21 | X = [0:0.1:10]; 22 | 23 | % Run Model --------------------------------------------------------------% 24 | 25 | sim('PolyfitEx.slx') 26 | 27 | % Plot Results -----------------------------------------------------------% 28 | 29 | a.Data = permute(a.Data,[3,2,1]); 30 | 31 | % Polynomial Coefficients 32 | figure() 33 | for i = 1:size(a.Data,2) 34 | LEG{i} = ['a',num2str(i-1)]; 35 | plot(a.Time,a.Data(:,i,1),'LineWidth',2) 36 | hold on 37 | end 38 | hold off 39 | xlabel('Time') 40 | ylabel('Polynomial Coefficients, a') 41 | legend(LEG,0) 42 | grid on 43 | 44 | % Polynomial Fit 45 | fig1 = figure(); 46 | vidObj = VideoWriter('PolyfitExMovie.mp4','MPEG-4'); 47 | vidObj.FrameRate = 20; 48 | open(vidObj); 49 | for i = 1:length(y.Time) 50 | %Plot 51 | plot(x,ydata.Data(i,:),'xk','LineWidth',2); 52 | hold on 53 | plot(X,y.Data(i,:),'-b','LineWidth',2); 54 | hold off 55 | title('Polynomial Fit') 56 | xlabel('x') 57 | ylabel('y') 58 | axis([0 10 0 10]); 59 | grid on 60 | %Add Time as text 61 | Time = [num2str(y.Time(i)),'sec']; 62 | a = text(0.5,8,['Time: ',Time]); 63 | a.FontSize = 14; 64 | %Get frame and write to movie 65 | currFrame = getframe(fig1); 66 | writeVideo(vidObj,currFrame) 67 | end 68 | close(vidObj); -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/GenTools_TSAT_WeightedAveraging.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Weighted Averaging Library Block 6 |
7 |

This block is meant for calculating the weighted average of a 1-D or 2-D array based on weighting values supplied as an input. It can be used to return the weighted average of the rows, columns, or all values within the data set. The weighted average is defined with the following equation.

8 | $$ 9 | x_{avg} = \frac{\sum_{i=1}^{i=n} x_{i}w_{i}}{\sum_{i=1}^{i=n} w_{i}} 10 | $$ 11 |

In the equation above x is the data array, w is the array of weighting values, and n is the number of elements in the data set.

12 | Weighted Averaging Inputs: 13 | 14 | 15 | 16 |
Weighted Averaging InputsDescription
Data1-D or 2-D array of data you wish to average [nxm]
Weightings1-D or 2-D array of weighting values that corresponds to the Data array that is being averaged [nxm]
17 |
18 | Weighted Averaging Outputs: 19 | 20 | 21 | 22 | 23 |
Weighted Averaging OutputsDescription
Average - RowsAverage of the each row of the data array [nx1]
Average - ColumnsAverage of the each column of the data array [1xm]
Average - AllAverage of all of the entries in the data array [1x1]
24 |
25 | Weighted Averaging Mask Variables: 26 | 27 | 28 | 29 | 30 |
Weighted Averaging Mask VariablesDescription
avg_rows_MCheck this box if you want to output the average of the rows
avg_cols_MCheck this box if you want to output the average of the columns
avg_all_MCheck this box if you want to output the average of all entries
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Radiation_TSAT_HeatXCoeffNonRefSink.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Radiation HeatX Coefficient - Non-Reflective Sink Library Block 6 |
7 |

This function computes the radiation heat transfer coefficient when the radiation term is written in a linear form (q = u*(Text - Tsurf)). This block is applicable for radiation between a surface and a non-reflective sink such as a distant black body. The equation for calculating the heat transfer coefficient is given below.

8 | $$ 9 | u = \epsilon \sigma \left( T_{sink}^2 + T_{surf}^2 \right) \left( T_{sink} + T_{surf} \right) 10 | $$ 11 |

where

12 | $$ 13 | u = radiation \: heat \: transfer \: coefficient 14 | $$ 15 | $$ 16 | \epsilon = emmisivity \: of \: the \: surface 17 | $$ 18 | $$ 19 | \sigma = Boltzmann's \: constant 20 | $$ 21 | $$ 22 | T_{surf} = temperature \: of \: the \: surface 23 | $$ 24 | $$ 25 | T_{sink} = temperature \: of \: the \: sink 26 | $$ 27 |

This block requires specific units be used. The units are clearly indicated on the input and output ports as well as the tables below.

28 |

This block accepts inputs of various dimensions as long as all inputs are consistent in dimensions.

29 | Radiation HeatX Coefficient - Non-Reflective Sink Inputs: 30 | 31 | 32 | 33 | 34 |
Radiation HeatX Coefficient - Non-Reflective Sink InputsDescription
TsurfTemperature of the surface of the object of interest (R) [nxm]
TsinkTemperature of a distant non-reflective sink (R) [nxm]
epsEmissivity of the surface of the object of interest (-) [nxm]
35 |
36 | Radiation HeatX Coefficient - Non-Reflective Sink Outputs: 37 | 38 | 39 |
Radiation HeatX Coefficient - Non-Reflective Sink OutputsDescription
uRadiation heat transfer coefficient (Btu/(sec-ft^2-R)) [nxm]
40 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_FCHorizRectCavity.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Horizontal Rectangular Cavity (Heated Bottom) Library Block 6 |
7 |

Reference for the information in this help file: Incropera, F.P., and DeWitt, D.P., Fundamentals of Heat and Mass Transfer, John Wiley & Sons, New York, NY, 2002. Print.

8 |

This block gives first approximation of the average Nusselt number of free convection within a rectangular horizontal cavity with the bottom side heated. The correlation employed was recommended by Globe and Dropkin. The Reference, eqaution, and additonal restrictions are listed below:

9 |

S. Globe, and D. Dropkin, J. Heat Transfer, 81C, 24, 1959.

10 | $$ 11 | Nu = 0.069Ra^{1/3}Pr^{0.074}, \: \: 3 \times 10^{5} \leq Ra 7 \times 10^{9} 12 | $$ 13 |

Ra is the Rayliegh number and Pr is the Prandtl number. Note that all fluid properrties should be evaluated at average of the hot and cold surface. The correlation applies for values of L/H that are sufficiently small such that the effects of the side walls are negligible. L is the distance between the top and bottom surface and H is the distance between the side surfaces. 14 |

This block is capable of performing multiple calculations given 1-D arrays of consistent size for the inputs and parameters.

15 | 16 | Horizontal Rectangular Cavity (Heated Bottom) Inputs: 17 | 18 | 19 | 20 |
Horizontal Rectangular Cavity (Heated Bottom) InputsDescription
RaRayliegh number [nx1]
PrPrandtl number [nx1]
21 |
22 | Horizontal Rectangular Cavity (Heated Bottom) Outputs: 23 | 24 | 25 | 26 |
Horizontal Rectangular Cavity (Heated Bottom) OutputsDescription
NuAverage Nusselt number [nx1]
ValidityVariable indicating if the Rayleigh number restrictions were violated. This value will be 1 if this condition is viloated and 0 otherwise. [nx1]
27 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_SphereCrossFlowWhitaker.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Sphere Cross Flow - Whitaker Library Block 6 |
7 |

This block estimates the average Nusselt number of an external flow over an isothermal sphere using an empirical correlation developed by Whitaker:

8 |

S. Whitaker., AIchE J., 18, 361, 1972.

9 |

The correlation is:

10 | $$ 11 | Nu = 2 + \left( 0.4Re^{1/2} + 0.06Re^{2/3} \right)Pr^{0.4} \left( \frac{\mu}{\mu_{s}} \right)^{1/4} 12 | $$ 13 |

where

14 | $$ 15 | Nu = Nusselt \: number, \: Re = Reynolds \: number, \: Pr = Prandtl \: number 16 | $$ 17 | $$ 18 | \mu = vicosity, \: \mu_{s} = viscosity \: at \: surface \: temperature 19 | $$ 20 |

The Reynolds number should be calculated based on the diameter of the sphere. Note that all fluid properrties should be evaluated at freestream temperature except for mus (the viscosity at the surface temperature). The correlation is subject to the following restrictions:

21 | $$ 22 | 3.5 \leq Re \leq 76000, \: 0.71 \leq Pr \leq 380, \: 1.0 \leq \mu/\mu{s} \leq 3.2 23 | $$ 24 |

This block is capable of performing multiple Nusselt number approximations given 1-D input arrays of the same size.

25 | 26 | Sphere Cross Flow - Whitaker Inputs: 27 | 28 | 29 | 30 | 31 | 32 |
Sphere Cross Flow - Whitaker InputsDescription
ReReynolds number (based on the diameter of the sphere) [nx1]
PrPrandtl number [nx1]
muViscosity of the fluid [nx1]
musViscosity of the fluid at the surface temperature [nx1]
33 |
34 | Sphere Cross Flow - Whitaker Outputs: 35 | 36 | 37 | 38 |
Sphere Cross Flow - Whitaker OutputsDescription
NuAverage Nusselt number [nx1]
ValidityVariable indicating if the Re and Pr restictions are violated or not. The value of 1 if a violation is present and 0 otherwise. [nx1]
39 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_TurbIncompFlatPlateBL.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Flat Plate Incompressible Turbulent Boundary Layer (Zero PG) Library Block 6 |
7 |

Reference for the information in this help file: Incropera, F.P., and DeWitt, D.P., Fundamentals of Heat and Mass Transfer, John Wiley & Sons, New York, NY, 2002. Print.

8 |

This block approximates the boundary layer and thermal boundary layer thicknesses of incompressible laminar flow over a flat plate with a pressure gradient of 0. The calculation assumes the boundary layer was tripped at the leading edge of the plate. The following equations are employed:

9 | $$ 10 | \delta = \frac{0.37x}{Re_{x}^{1/5}}, \: Re_{x} = \frac{\rho u x}{\mu} 11 | $$ 12 | $$ 13 | \delta_t = \delta \: (approximately) 14 | $$ 15 |

This block is capable of performing multiple calculations given 1-D arrays of consistent size for the inputs. The units of the inputs and parameters do not matter as long as they are consistent.

16 | 17 | Flat Plate Incompressible Turbulent Boundary Layer (Zero PG) Inputs: 18 | 19 | 20 | 21 |
Flat Plate Incompressible Turbulent Boundary Layer (Zero PG) InputsDescription
rho_uProduct of density and velocity [nx1]
muViscosity [nx1]
22 |
23 | Flat Plate Incompressible Turbulent Boundary Layer (Zero PG) Outputs: 24 | 25 | 26 | 27 |
Flat Plate Incompressible Turbulent Boundary Layer (Zero PG) OutputsDescription
delBoundary layer [nx1]
deltThermal boundary layer [nx1]
28 |
29 | Flat Plate Incompressible Turbulent Boundary Layer (Zero PG) Masked Variables: 30 | 31 | 32 |
Flat Plate Incompressible Turbulent Boundary Layer (Zero PG) Masked VariablesDescription
x_MLocal position relative to the leading edge. This value should be positive. [nx1]
33 |
-------------------------------------------------------------------------------- /readme_main.txt: -------------------------------------------------------------------------------- 1 | readme_main.txt 2 | 3 | TSAT version 1.0.0 4 | Date of most recent update: 02/22/2018 5 | Developer: Jonathan Kratz (NASA Glenn Research Center) 6 | 7 | The Thermal Systems Analysis Toolbox (TSAT) is a MATLAB/Simulink based tool for modeling and analysis 8 | of dynamic and steady-state thermal systems involving heat transfer. TSAT consists of a Simulink library 9 | that will appear in your Simulink library browser when installed. Each block has a help file that can 10 | be reached by right clicking the block and clicking "help". The help files will provide general modeling 11 | information of what the block does; will described inputs, parameters, and outputs; and will provide 12 | references if appropriate. In addition to the help files, several examples are provided that illustrate 13 | usage of several of the TSAT blocks. TSAT also provides several MATLAB functions that can be used in a 14 | variety of ways. Descriptions of function inputs, outputs, and usage is provided by comments within the 15 | function files. 16 | 17 | The "Trunk" folder contains all the tools including the Simulink libraries, the MATLAB tools, the help 18 | files, and examples. The "Resources" folder contains the TSAT Quickstart Guide (TSATquicksart.pdf) and 19 | could include various other materials if future updates of the software package are made. The quickstart 20 | guide is recommended reading before attempting to install, uninstall, or use TSAT. 21 | 22 | TSAT was created during the development of thermal models of aero-engines for the purpose of approximating 23 | the thermal environment relevant for control system components when considering the application of 24 | distributed engine control. Also of interest was thermal modeling relevent to turbine tip clearance control. 25 | A significant portion of the TSAT library blocks and MATLAB tools are a direct result of these efforts. At 26 | the core of the library are its 1D and 2D conduction blocks used to model conduction through solid structures. 27 | The library also has various options of estabilishing boundary conditions and it contains various general-use 28 | tools as well. 29 | 30 | NOTE: TSAT and the examples it comes with were developed using MATLAB/Simulink R2015a. Although compatability 31 | with newer versions is not thought to be an issue, the user should be aware of the potential for 32 | compatability issues. -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/GenTools_TSAT_LogisticFun.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Logistic Function Block 6 |
7 |

This block computes the logistic function given x as an input. The exact shape of the logistic function is determined based on it's parameters.

8 | $$ 9 | y = \frac{L_f - L_o}{1 + e^{-k \left( x - x_o \right) }} + L_o 10 | $$ 11 |

where

12 | $$ 13 | L_o = the \: value \: of \: the \: function \: at \: the \: left \: asymptote 14 | $$ 15 | $$ 16 | L_f = the \: value \: of \: the \: function \: at \: the \: right \: asymptote 17 | $$ 18 | $$ 19 | x_o = the \: location \: of \: the \: inflection \: point \: (center) \: of \: the \: curve 20 | $$ 21 | $$ 22 | k = the \: slope \: of \: the \: curve 23 | $$ 24 |

All of these parameters can be specified and some of them can be calculated apriori by the block given some additional information. In particular xo and k can be computed by the block. 25 | $$ 26 | x_o = 0.5 \left(x_L + x_R\right) 27 | $$ 28 | $$ 29 | k = -\frac{ln(99)}{x_L-x_o} 30 | $$ 31 |

where

32 | $$ 33 | x_L = location \: where \: y \: is \: within \: 1 \: percent \: of \: L_o 34 | $$ 35 | $$ 36 | x_R = location \: where \: y \: is \: within \: 1 \: percent \: of \: L_f 37 | $$ 38 | Logistic Function Inputs: 39 | 40 | 41 |
Logistic Function InputsDescription
xindependent variable [nx1]
42 |
43 | Logistic Function Outputs: 44 | 45 | 46 |
Logistic Function OutputsDescription
ySolution to the logistic equation (dependent variable) [1xn]
47 |
48 | Logistic Function Mask Variables: 49 | 50 | 51 | 52 | 53 |
Logistic Function Mask VariablesDescription
avg_rows_MCheck this box if you want to output the average of the rows
avg_cols_MCheck this box if you want to output the average of the columns
avg_all_MCheck this box if you want to output the average of all entries
-------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Radiation Between Plates (1D)/run_RadBtwPlates.m: -------------------------------------------------------------------------------- 1 | % run_PipeHeatX.m =====================================================% 2 | 3 | % Written By: Jonathan Kratz (NASA GRC) 4 | % Date: 12/15/2017 5 | % Description: This script populates the workspace for the 6 | % RadBtwPlatesEx.slx model to run, executes the model, and displays the 7 | % results. The results are shown in the form of a generated movie. 8 | 9 | close all 10 | clear all 11 | clc 12 | 13 | % Define workspace variables ---------------------------------------------% 14 | 15 | % simulation props 16 | dt = 5; %time-step [sec] 17 | tsim = 86400/2; %simulation time [sec] 18 | 19 | % radiation with earth 20 | Tsink_earth = 464.4; %sink temperature of Earth 21 | eps_earth = 0.5; %emissivity of earth 22 | 23 | % radiation with space 24 | Tsink_space = 4.9; %sink temperature if space [R] 25 | eps_space = 1; %emissivty of space 26 | 27 | % structure properties 28 | x1 = linspace(0,0.25/12,20); 29 | x2 = x1; 30 | To1 = 500*ones(length(x1),1)'; %initial temperature [R] 31 | To2 = 500*ones(length(x2),1)'; %initial temperature [R] 32 | k = 0.0328*ones(length(x1),1)'; %Thermal Conductivity [Btu/(sec-ft-R)] 33 | Cp = 6.92*ones(length(x1),1)'; %Heat Capcity [Btu/(slug-R)] 34 | rho = 5.238864896*ones(length(x1),1)'; %Density [slug/ft^3] 35 | eps = 0.07; %emissivity 36 | 37 | % Run Model --------------------------------------------------------------% 38 | 39 | sim('RadBtwPlatesEx.slx') 40 | 41 | % Plot Results -----------------------------------------------------------% 42 | 43 | %Temperature Profile Movie 44 | fig1 = figure(); 45 | vidObj = VideoWriter('TempProfile.mp4','MPEG-4'); 46 | vidObj.FrameRate = 20; 47 | open(vidObj); 48 | j = 1; 49 | for i = 1:length(T1.Time) 50 | if i == 1 || T1.Time(i) > 480*j 51 | %Plot 52 | plot(x1*12,T1.Data(1,:,i),'-b','LineWidth',2); 53 | hold on 54 | plot(x2*12,T2.Data(1,:,i),'-r','LineWidth',2); 55 | hold off 56 | title('Temperature Profile') 57 | xlabel('x [in]') 58 | ylabel('T [^oR]') 59 | axis([x1(1)*12 x1(end)*12 0 550]); 60 | legend('Plate 1','Plate 2',2) 61 | grid on 62 | %Add Time as text 63 | Time = [num2str(T1.Time(i)),'sec']; 64 | TT = text(0.05,50,['Time: ',Time]); 65 | TT.FontSize = 14; 66 | %Get frame and write to movie 67 | currFrame = getframe(fig1); 68 | writeVideo(vidObj,currFrame) 69 | j = j + 1; 70 | end 71 | end 72 | close(vidObj); -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Pipe Heat Transfer (1D)/run_PipeHeatX.m: -------------------------------------------------------------------------------- 1 | % run_PipeHeatX.m =====================================================% 2 | 3 | % Written By: Jonathan Kratz (NASA GRC) 4 | % Date: 12/15/2017 5 | % Description: This script populates the workspace for the 6 | % PipeHeatX.slx model to run, executes the model, and displays the 7 | % results. The results are shown in the form of a generated movies and 8 | % plots. 9 | 10 | close all 11 | clear all 12 | clc 13 | 14 | % Define workspace variables ---------------------------------------------% 15 | 16 | % simulation props 17 | dt = 0.02; %time-step [sec] 18 | tsim = 50; %simulation time [sec] 19 | 20 | % Inner Fluid (Water) 21 | Tin = 654; %temperature [R] 22 | rhoin = 1.94; %density [slug/ft^3] 23 | Cpin = 32.3*778.169; %heat capcity [lbf-ft/(slug-R)] 24 | muin = 1.86*10^-5; %viscosity [slug/(ft-sec)] 25 | kin = 0.0001076*778.169; %thermal conductivity [lbf-ft/(sec-ft-R)] 26 | velin = 1; %velocity [ft/sec] 27 | 28 | % Outer Fluid (Air) 29 | Tout = 460; %temperature [R] 30 | rhoout = 0.00237; %density [slug/ft^3] 31 | velout = 50; %velocity [ft/sec] 32 | 33 | % structure properties 34 | r = linspace(1/12,1.5/12,20); 35 | Din = r(1)*2; 36 | Dout = r(end)*2; 37 | To = 550*ones(length(r),1)'; %initial temperature [R] 38 | k = 0.0328*ones(length(r),1)'; %Thermal Conductivity [Btu/(sec-ft-R)] 39 | Cp = 6.92*ones(length(r),1)'; %Heat Capcity [Btu/(slug-R)] 40 | rho = 5.238864896*ones(length(r),1)'; %Density [slug/ft^3] 41 | 42 | % Run Model --------------------------------------------------------------% 43 | 44 | sim('PipeHeatX.slx') 45 | 46 | % Plot Results -----------------------------------------------------------% 47 | 48 | %Temperature Profile Movie 49 | fig1 = figure(); 50 | vidObj = VideoWriter('TempProfile.mp4','MPEG-4'); 51 | vidObj.FrameRate = 20; 52 | open(vidObj); 53 | j = 1; 54 | for i = 1:length(T.Time) 55 | if i == 1 || T.Time(i) > 1*j 56 | %Plot 57 | plot(r*12,T.Data(1,:,i),'-b','LineWidth',2); 58 | title('Temperature Profile') 59 | xlabel('r [in]') 60 | ylabel('T [^oR]') 61 | axis([r(1)*12 r(end)*12 450 700]); 62 | grid on 63 | %Add Time as text 64 | Time = [num2str(T.Time(i)),'sec']; 65 | TT = text(1.05,500,['Time: ',Time]); 66 | TT.FontSize = 14; 67 | %Get frame and write to movie 68 | currFrame = getframe(fig1); 69 | writeVideo(vidObj,currFrame) 70 | j = j + 1; 71 | end 72 | end 73 | close(vidObj); -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/GenTools_TSAT_2DlinearInterp.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: 2D Linear Interpolation Library Block 6 |
7 |

This block performs linear interpolation on a set of data (x_data, y_data, z_data) at interpolation points defined in the arrays x_int, and y_int. The inputs must be the appropriate dimensions which are noted in the tables below. If incorrect dimension are specified then z_int will be output as an array of ones the size of x_int and a warning will be printed to the screen. The independent data arrays, x_data and y_data, must be monotonically increasing. If x_int and or y_int have values in it that are outside the range of x_data or y_data respectively, then z_int will be assigned the value of the z_data array at the closest data point or interpolated based on data from the closest row or column of data when applicable.

8 | 2D Linear Interpolation Inputs: 9 | 10 | 11 | 12 | 13 | 14 | 15 |
2D Linear Interpolation InputsDescription
x_data1-D array of data corresponding to the independent variable on the columns of z_data [nx1]
y_data1-D array of data corresponding to the independent variable on the rows of z_data [mx1]
z_data2-D array of data corresponding to the dependent variable that is a function of x and y [nxm]
x_int1-D array of interpolation points corresponding to x_data [px1]
y_int1-D array of interpolation points corresponding to y_data [px1]
16 |
17 | 2D Linear Interpolation Outputs: 18 | 19 | 20 |
2D Linear Interpolation OutputsDescription
z_int1-D array of interpolated values corresponding to the dependent variable for the interpolation points (x_int,y_int) [px1]
21 |
22 | 2D Linear Interpolation Mask Variables: 23 | 24 | 25 |
2D Linear Interpolation Mask VariablesDescription
BN_MBlock name (hidden variable that is used in warning messages)
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Radiation_TSAT_HeatXCoeffRefPlanar.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Radiation HeatX Coefficient - Reflective Planar Surfaces Library Block 6 |
7 |

This function computes the radiation heat transfer coefficient when the radiation term is written in a linear form (q = u*(Text - Tsurf)). This block is applicable for reflective parallel planar surfaces. The equation for calculating the heat transfer coefficient is given below.

8 | $$ 9 | u = \frac{\sigma}{ \frac{1}{\epsilon_{surf}} + \frac{1}{\epsilon_{ext}} - 1 } \left( T_{ext}^2 + T_{surf}^2 \right) \left( T_{ext} + T_{surf} \right) 10 | $$ 11 |

where

12 | $$ 13 | u = radiation \: heat \: transfer \: coefficient 14 | $$ 15 | $$ 16 | \epsilon_{surf} = emmisivity \: of \: the \: surface \: of \: interest 17 | $$ 18 | $$ 19 | \epsilon_{ext} = emmisivity \: of \: the \: external \: surface 20 | $$ 21 | $$ 22 | \sigma = Boltzmann's \: constant 23 | $$ 24 | $$ 25 | T_{surf} = temperature \: of \: the \: surface 26 | $$ 27 | $$ 28 | T_{ext} = temperature \: of \: the \: external \: surface 29 | $$ 30 |

This block requires specific units be used. The units are clearly indicated on the input and output ports as well as the tables below.

31 |

This block accepts inputs of various dimensions as long as all inputs are consistent in dimensions.

32 | Radiation HeatX Coefficient - Reflective Planar Surfaces Inputs: 33 | 34 | 35 | 36 | 37 | 38 |
Radiation HeatX Coefficient - Reflective Planar Surfaces InputsDescription
TsurfTemperature of the surface of the object of interest (R) [nxm]
TextTemperature of the external surface (R) [nxm]
eps_surfEmissivity of the surface of the object of interest (-) [nxm]
eps_extEmissivity of the external surface (-) [nxm]
39 |
40 | Radiation HeatX Coefficient - Reflective Planar Surfaces Outputs: 41 | 42 | 43 |
Radiation HeatX Coefficient - Reflective Planar Surfaces OutputsDescription
uRadiation heat transfer coefficient (Btu/(sec-ft^2-R)) [nxm]
44 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_CylinderCrossFlowHilpert.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Cylinder Cross Flow - Hilpert Library Block 6 |
7 |

This block estimates the average Nusselt number of an external flow over an isothermal cylinder. The correlation employed was originally developed by Hilpert:

8 |

R. Hilpert, Forsch . Geb. Ingenieurwes., 4 ,215, 1933

9 |

and has been modified to account for fluids with a wider range of Prandtl numbers.

10 | $$ 11 | Nu = CRe^{m}Pr^{1/3} 12 | $$ 13 |

where Nu is the Nusselt number, Re is the Reynolds number (with characteristic length = diameter of the cylinder), Pr is the Prandtly number, and the coefficients C and m are given in the table below:

14 | Model Coefficients: 15 | 16 | 17 | 18 | 19 | 20 | 21 |
ReCm
0.4-40.9890.330
4-400.9110.385
40-40000.6830.466
4000-400000.1930.618
40000-4000000.0270.805
22 |
23 |

Note that all fluid properrties should be evaluated at film temperature (average of the bulk fluid and surface temperatures). The correlation is subject to the following restrictions: 24 | $$ 25 | 1 \leq Re \leq 1000000, \: 0.7 \leq Pr \leq 500 26 | $$ 27 |

This block is capable of performing multiple Nusselt number approximations given 1-D input arrays of the same size.

28 | 29 | Cylinder Cross Flow - Hilpert Inputs: 30 | 31 | 32 | 33 |
Cylinder Cross Flow - Hilpert InputsDescription
ReReynolds number (based on the diameter of the cylinder) [nx1]
PrPrandtl number [nx1]
34 |
35 | Cylinder Cross Flow - Hilpert Outputs: 36 | 37 | 38 | 39 |
Cylinder Cross Flow - Hilpert OutputsDescription
NuAverage Nusselt number [nx1]
ValidityVariable indicating if the Re and Pr restictions are violated or not. The value of 1 if a violation is present and 0 otherwise. [nx1]
40 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Tools/Tools/trimLine.m: -------------------------------------------------------------------------------- 1 | function [ X,Y ] = trimLine( x,y,xtrim,side,plotOpt ) 2 | %trimLine summary 3 | % This function trims a line given by it's x and y coordinates. It will 4 | % trim the line at location xtrim and remove the portion of the line 5 | % indicated by the variable 'side'. The function uses a natural cubic 6 | % spline fit to define the line at all data points and to interpolate the 7 | % value at the trim location. 8 | % 9 | %Inputs: 10 | % x - x data points [1 x n] 11 | % y - y data points [1 x n] 12 | % xtrim - location of the trim on the x-axis [1 x 1] 13 | % side - indicates the sided to be trimmed/cut off 14 | % 'left' - trim the left side off 15 | % 'right' - trim the right side off 16 | % plotOpt - display plot option 17 | % 'y' - yes 18 | % 'n' - no 19 | % 20 | %Outputs: 21 | % X - x data points of the trimmed line [1 x n] 22 | % Y - y data points of the trimmed line [1 x n] 23 | 24 | %Error checks 25 | if xtrim < x(1) || xtrim > x(end) 26 | disp('Error in trim.m: xtrim must be > x(1) and < x(end)') 27 | end 28 | if min(diff(x)) <= 0 29 | disp('Error in trim.m: x must be monotonically increasing') 30 | end 31 | 32 | %Cubic spline coefficients 33 | c = CubicSpline(x,y,[]); 34 | 35 | %Find the index of the points the strattle the trim location 36 | for i = 1:length(x)-1 37 | if xtrim >= x(i) && xtrim <= x(i+1) 38 | itrim = i; 39 | if xtrim == x(i+1) && strcmp(side,'left') 40 | xtrim = []; 41 | end 42 | break 43 | end 44 | end 45 | 46 | %Create the new (trimmed) data arrays 47 | if strcmp(side,'left') 48 | X = [xtrim x(itrim+1:end)]; 49 | Y = CubicSplineInterp(x,c,X,0); 50 | elseif strcmp(side,'right') 51 | X = [x(1:itrim) xtrim]; 52 | Y = CubicSplineInterp(x,c,X,0); 53 | else 54 | X = []; 55 | Y = []; 56 | disp('Error in trim.m: side must be set to ''left'' or ''right'''); 57 | end 58 | 59 | if strcmp(plotOpt,'y') == 1 60 | %Plot and compare trimmed line and the original 61 | xp = linspace(x(1),x(end),20*length(x)); 62 | yp = CubicSplineInterp(x,c,xp,0); 63 | C = CubicSpline(X,Y,[]); 64 | Xp = linspace(X(1),X(end),20*length(X)); 65 | Yp = CubicSplineInterp(X,C,Xp,0); 66 | figure() 67 | plot(x,y,'xk') 68 | hold on 69 | plot(xp,yp,'-b') 70 | plot(X,Y,'ok') 71 | plot(Xp,Yp,'--r') 72 | hold off 73 | xlabel('x') 74 | ylabel('y') 75 | legend('original data','original spline','trimmed data','trimmed spline') 76 | end 77 | 78 | end 79 | 80 | -------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Fluid Energy Balance/run_FluidEnergyBalEx.m: -------------------------------------------------------------------------------- 1 | % run_FluidEnergyBalEx.m =================================================% 2 | 3 | % Written By: Jonathan Kratz (NASA GRC) 4 | % Date: 12/22/2017 5 | % Description: This script populates the workspace for the 6 | % FluidEnergyBalEx.slx model to run, executes the models, and displays 7 | % the results. The modeled problem is heat addition into a flowing fluid 8 | % as a result of the hot surfaces it contacts. The high heat transfer 9 | % rate and relatively low mass flow rate of the fluid leads to 10 | % significant temperature rise in the fluid. See the 11 | % "FluidEnergyBalEx.slx" model for more description on the problem. 12 | 13 | close all 14 | clear all 15 | clc 16 | 17 | % Define workspace variables ---------------------------------------------% 18 | 19 | % Dimension quantities 20 | L = 5; %length of the flow path [ft] 21 | N = 500; %number of discrete points 22 | x = linspace(0,L,N); %discrete point in the flow path 23 | dx = mean(diff(x)); %distance between discrete points 24 | 25 | % Inlet flow props 26 | mdot_in = 0.1; %mass flow rate [slug/sec] 27 | T_in = 550; %temperature [R] 28 | 29 | % Bleed flow props 30 | x_bld = [1.5 3.5]; %location of the bleeds [ft] 31 | mdot_bld = [0.02 -0.05]; %mass flow rates of the bleeds [slug/sec] 32 | T_bld = [550 550]; %temperature of the bleeds [R] 33 | 34 | % Surface propertes 35 | Rc = linspace(0.625,1.15,N); %radius of the inner surface [ft] 36 | Rd = 1.25*ones(1,N); %radius of the outer surface [ft] 37 | Ac = 2*pi*Rc*dx; %area of the inner surface [ft^2] 38 | Ad = 2*pi*Rd*dx; %area of the outer surface [ft^2] 39 | Tc = linspace(650,1200,N); %temperature of the inner surface [R] 40 | Td = linspace(600,750,N); %temperature of the outer surface [R] 41 | 42 | hc = 10*ones(1,N); %heat transfer coefficient on inner surface [ft-lbf/(sec-ft^2-R)] 43 | hd = 10*ones(1,N); %heat transfer coefficient on outer surface [ft-lbf/(sec-ft^2-R)] 44 | 45 | % Initial temperature to initiate the block 46 | T0 = 550*ones(1,N); %[R] 47 | 48 | % Heat capacity of the fluid (air) 49 | load('CpvTDataAir.mat'); %TData, CpData [R, Btu/(slug-R)] 50 | CpData_M = CpData_M*778.169; %[ft-lbf/(slug-R)] 51 | 52 | % Run Model --------------------------------------------------------------% 53 | 54 | % Simulation 55 | sim('FluidEnergyBalEx.slx') 56 | TT = zeros(1,N); 57 | for i = 1:N 58 | TT(i) = T(1,i,end); 59 | end 60 | 61 | % Plot Results -----------------------------------------------------------% 62 | 63 | %Plots 64 | figure() 65 | plot(x,TT,'LineWidth',2); 66 | xlabel('x [ft]') 67 | ylabel('T [^oR]') 68 | grid on -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_LamIncompFlatPlateBL.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Flat Plate Incompressible Laminar Boundary Layer (Zero PG) Library Block 6 |
7 |

Reference for the information in this help file: Incropera, F.P., and DeWitt, D.P., Fundamentals of Heat and Mass Transfer, John Wiley & Sons, New York, NY, 2002. Print.

8 |

This block approximates the boundary layer and thermal boundary layer thicknesses of incompressible laminar flow over a flat plate with a pressure gradient of 0. The following equations are employed:

9 | $$ 10 | \delta = \frac{5x}{\sqrt{Re_{x}}}, \: Re_{x} = \frac{\rho u x}{\mu} 11 | $$ 12 | $$ 13 | \delta_t = \delta Pr^{-0.4} 14 | $$ 15 |

This block is capable of performing multiple calculations given 1-D arrays of consistent size for the inputs. The units of the inputs and parameters do not matter as long as they are consistent.

16 | 17 | Flat Plate Incompressible Laminar Boundary Layer (Zero PG) Inputs: 18 | 19 | 20 | 21 | 22 |
Flat Plate Incompressible Laminar Boundary Layer (Zero PG) InputsDescription
rho_uProduct of density and velocity [nx1]
muViscosity [nx1]
PrPrandtl number [nx1]
23 |
24 | Flat Plate Incompressible Laminar Boundary Layer (Zero PG) Outputs: 25 | 26 | 27 | 28 | 29 |
Flat Plate Incompressible Laminar Boundary Layer (Zero PG) OutputsDescription
delBoundary layer [nx1]
deltThermal boundary layer [nx1]
validityVariable indicating if the transition Reynolds number was exceeded making the calculation invalid. This value will be 1 if this condition is viloated and 0 otherwise. [nx1]
30 |
31 | Flat Plate Incompressible Laminar Boundary Layer (Zero PG) Masked Variables: 32 | 33 | 34 | 35 |
Flat Plate Incompressible Laminar Boundary Layer (Zero PG) Masked VariablesDescription
Retr_MReynolds number which the boundary layer transitions to turbulent. This is used as a check for validity of the computation. [1x1]
x_MLocal position relative to the leading edge. This value should be positive. [nx1]
36 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Iterative Subsystem/run_IterSubsysEx.m: -------------------------------------------------------------------------------- 1 | % run_IterSubsyEx.m ======================================================% 2 | 3 | % Written By: Jonathan Kratz (NASA GRC) 4 | % Date: 12/23/2017 5 | % Description: This script populates the workspace for the 6 | % IterSubSys.slx model to run, executes the model, and displays the 7 | % results. The results are shown in the form of a generated movie that 8 | % shows how the temperature along the thickness of a wall varies with 9 | % time. The purpose of the model is to illustrate proper usage of the 10 | % conduction blocks within iterative subsystems. 11 | 12 | close all 13 | clear all 14 | clc 15 | 16 | % Define workspace variables ---------------------------------------------% 17 | 18 | % Simulation Time-Step 19 | dt = 1; %Time-step [sec] 20 | tsim = 800; %simulation time [sec] 21 | 22 | % Boundary Conditions 23 | hb = 0.03; %convective heat transfer coefficient on bottom surface [Btu/(sec-ft^2-R)] 24 | Tb = 800; %temperature of fluid on the bottom surface [R] 25 | ht = 0.03; %convective heat transfer coefficient on top surface [Btu/(sec-ft^2-R)] 26 | Tt = 650; %temperature of fluid on the top surface [R] 27 | k = 0.0328; %thermal conductivity [Btu/(sec-ft-R)] 28 | Cp = 6.92; %heat capacity [Btu/(sec-ft-R)] 29 | rho = 5.238864896; %density [slug/ft^3] 30 | 31 | % 1-D vars 32 | y0 = linspace(0,3/12,10); %discretization in the y-direction 33 | k1d = k*ones(length(y0),1)'; %Thermal Conductivity [Btu/(sec-ft-R)] 34 | Cp1d = Cp*ones(length(y0),1)'; %Heat Capcity [Btu/(slug-R)] 35 | rho1d = rho*ones(length(y0),1)'; %Density [slug/ft^3] 36 | T01d = 550*ones(length(y0),1)'; %Initial Temperature [R] 37 | 38 | 39 | % Run Model --------------------------------------------------------------% 40 | 41 | sim('IterSubsysEx.slx') 42 | 43 | % Plot Results -----------------------------------------------------------% 44 | 45 | %Temperature Profile Movie 46 | fig1 = figure(); 47 | vidObj = VideoWriter('TempProfile.mp4','MPEG-4'); 48 | vidObj.FrameRate = 20; 49 | open(vidObj); 50 | j = 1; 51 | for i = 1:length(T1d.Time) 52 | if i == 1 || T1d.Time(i) > 1*j 53 | %Plot 54 | plot(y0*12,T1d.Data(1,:,i),'-b','LineWidth',2); 55 | title('Temperature Profile') 56 | xlabel('y [in]') 57 | ylabel('T [^oR]') 58 | legend('1-D','2-D',0) 59 | axis([0 y0(end)*12 500 850]); 60 | grid on 61 | %Add Time as text 62 | Time = [num2str(T1d.Time(i)),'sec']; 63 | TT = text(y0(end)*12/5,800,['Time: ',Time]); 64 | TT.FontSize = 14; 65 | %Get frame and write to movie 66 | currFrame = getframe(fig1); 67 | writeVideo(vidObj,currFrame) 68 | j = j + 1; 69 | end 70 | end 71 | close(vidObj); -------------------------------------------------------------------------------- /Trunk/uninstall_TSAT.m: -------------------------------------------------------------------------------- 1 | function uninstall_TSAT() 2 | % This subroutine uninstalls TSAT 3 | error = 0; 4 | TSATRemovemsg = 'Remove TSAT matlab toolbox? Note: Un-Installation will remove MATLAB paths.'; 5 | POp = filesep; 6 | 7 | switch questdlg(TSATRemovemsg, 'TSAT Library', 'Yes', 'No', 'No'); 8 | 9 | % check if TSAT_Library is in the path 10 | 11 | case 'Yes', 12 | p = path; % current path 13 | CurrDir = pwd; % current directory 14 | % define new paths 15 | Pth{1} = strcat(pwd,POp,'TSAT_Library'); 16 | Pth{2} = strcat(pwd,POp,'TSAT_Library',POp,'TSAT_Support'); 17 | Pth{3} = strcat(pwd,POp,'TSAT_Tools'); 18 | Pth{4} = strcat(pwd,POp,'TSAT_Tools',POp,'Tools'); 19 | Pth{5} = strcat(pwd,POp,'TSAT_Library',POp,'MATLAB_Scripts'); 20 | 21 | perm = zeros( 1 , length(Pth)); % allocate memory for perm 22 | 23 | for i = 1:length(Pth) 24 | 25 | perm(i) = ~isempty(strfind(pathdef,strcat(Pth{i},';'))); % determine if path is already defined 26 | 27 | 28 | if perm(i) % for each path if defined, remove it from pathdef 29 | path(pathdef); 30 | rmpath(Pth{i}); 31 | SP = savepath; 32 | if SP==0 33 | disp(sprintf(' %s has been removed from the Path structure.',Pth{i})); 34 | else 35 | error = 1; 36 | disp(sprintf('Error: %s Has not been removed from the Path structure',Pth{i})); 37 | end 38 | else 39 | disp (sprintf('%s does not exist in the path structure',Pth{i})); 40 | end 41 | 42 | end 43 | 44 | 45 | path(p) 46 | for i = 1:length(Pth) 47 | perm(i) = ~isempty(strfind(path,Pth{i})); % determine if path is already defined 48 | 49 | if perm(i) 50 | eval(['rmpath ',Pth{i}]) 51 | end 52 | end 53 | 54 | if error ==0; 55 | FileExist = exist(strcat(pwd,POp,'TSAT_Library ',POp,'Contents.m'), 'file'); 56 | if FileExist == 2 57 | cd( 'TSAT_Library') 58 | disp('Removing Contents.m'); 59 | fid = fopen('Contents.m'); 60 | fclose(fid); 61 | delete('Contents.m'); 62 | eval(['cd ' CurrDir]); 63 | end 64 | 65 | disp('TSAT path removal complete.'); 66 | end 67 | case 'No', 68 | disp('TSAT removal aborted.'); 69 | end -------------------------------------------------------------------------------- /Trunk/TSAT_Tools/Tools/digitizeImage.m: -------------------------------------------------------------------------------- 1 | function [ x,y ] = digitizeImage( imageFile ) 2 | %digitizeImage summary 3 | % This function plots an image provided by a .jpg file. Points from the 4 | % image can be extracted and scaled appropiately. If desired the selected 5 | % points can be connected via a cubic spline. This function is useful for 6 | % extracting data from images and approximating complex shapes from 7 | % images. 8 | % 9 | %Inputs: 10 | % imageFile - name of the image file as a string (Ex. 'image.jpg') 11 | %Outpus: 12 | % x - scaled x-coordinates of the selected points 13 | % y - scaled y-coordinates of the selected points 14 | 15 | %load and plot picture 16 | imageData = imread(imageFile); 17 | imagesc(imageData); 18 | axis equal 19 | xlabel('pixels in x-direction') 20 | ylabel('pixels in y-direction') 21 | hold on 22 | imageData = imageData(:,:,1); %reduse the RGB into just any one component for digitization 23 | 24 | %Origin 25 | fprintf('Indicate the pixel position on the picture that corresponds to the origin: '); 26 | [x0 y0] = ginput(1); 27 | fprintf('[%-5.4f %-5.4f]\n',x0,y0); 28 | 29 | %Digitize the picture 30 | fprintf('Indicate a pixel position on the picture (not on the x or y-axis) that corresponds to known coordinate values:'); 31 | [x1 y1] = ginput(1); 32 | fprintf('[%-5.4f %-5.4f]\n',x1,y1); 33 | val = input('Coordinates of the selected pixel (ex. [1 2]): '); 34 | xratio = val(1)/(x1-x0); 35 | yratio = val(2)/-(y1-y0); 36 | 37 | %Select Points 38 | splineOpt = input('Do you wish to connect your selected data points with a spline (y/n)? ','s'); 39 | disp('Select the points you wish to extract and press enter when finished.') 40 | XD = []; 41 | YD = []; 42 | iter = 1; 43 | w = 0; 44 | while w == 0 45 | if w == 0 46 | [X Y] = ginput(1); 47 | plot(X,Y,'xk') 48 | XD = [XD X]; 49 | YD = [YD Y]; 50 | if iter > 1 51 | [XD,ind] = sort(XD,2,'ascend'); 52 | YDtemp = zeros(1,length(ind)); 53 | for i = 1:length(ind) 54 | YDtemp(i) = YD(ind(i)); 55 | end 56 | YD = YDtemp; 57 | if splineOpt == 'y' 58 | if iter > 2 59 | children = get(gca, 'children'); 60 | delete(children(2)); 61 | end 62 | c = CubicSpline( XD, YD, [] ); 63 | XDspline = linspace(XD(1),XD(end),20*length(XD)); 64 | YDspline = CubicSplineInterp ( XD,c,XDspline,0 ); 65 | plot(XDspline,YDspline,'-b'); 66 | end 67 | end 68 | iter = iter + 1; 69 | w = waitforbuttonpress; 70 | end 71 | end 72 | 73 | %Scale the coordinates of the selected points 74 | x = (XD-x0)*xratio; 75 | y = -(YD-y0)*yratio; -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/GenTools_TSAT_3DlinearInterp.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: 3D Linear Interpolation Library Block 6 |
7 |

This block performs linear interpolation on a set of data v_data = f(y_data,x_data,z_data) at interpolation points defined in the arrays x_int, y_int, and z_int. The inputs must be the appropriate dimensions which are noted in the tables below. If incorrect dimension are specified then v_int will be output as an array of ones the size of x_int and a warning will be printed to the screen. The independent data arrays, x_data, y_data and z_data, must be monotonically increasing. If x_int, y_int, and or z_int have values in it that are outside the range of x_data, y_data, and z_data respectively, then v_int will be assigned the value of the v_data array at the closest data point or interpolated based on data from the closest edge or surface of the defined domain of the data when applicable.

8 | 3D Linear Interpolation Inputs: 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
3D Linear Interpolation InputsDescription
x_data1-D array of data corresponding to the independent variable on the columns of v_data (2nd direction) [nx1]
y_data1-D array of data corresponding to the independent variable on the rows of v_data (1st direction) [mx1]
z_data1-D array of data corresponding to the independent variable on the levels of v_data (3rd direction) [nxm]
v_data3-D array of data corresponding to the dependent variable that is a function of x, y, and z [px1]
x_int1-D array of interpolation points corresponding to x_data [px1]
y_int1-D array of interpolation points corresponding to y_data [px1]
z_int1-D array of interpolation points corresponding to z_data [px1]
18 |
19 | 3D Linear Interpolation Outputs: 20 | 21 | 22 |
3D Linear Interpolation OutputsDescription
v_int1-D array of interpolated values corresponding to the dependent variable for the interpolation points (x_int,y_int,z_int) [px1]
23 |
24 | 3D Linear Interpolation Mask Variables: 25 | 26 | 27 |
3D Linear Interpolation Mask VariablesDescription
BN_MBlock name (hidden variable that is used in warning messages)
-------------------------------------------------------------------------------- /Trunk/TSAT_Tools/Tools/extendLine.m: -------------------------------------------------------------------------------- 1 | function [ X,Y ] = extendLine( x,y,xext,method,plotOpt ) 2 | %extendLine summary 3 | % This function extends a line given by it's x and y coordinates. It will 4 | % extend the line to the x-location 'xext' using 1 of 2 methods 5 | % determined by the variable 'method'. It will either extapolate with a 6 | % cubic spline or a linear line that is tangent with the line at it's 7 | % closest data point. 8 | % 9 | %Inputs: 10 | % x - x data points [1 x n] 11 | % y - y data points [1 x n] 12 | % xext - location to which the line is to be extended on the x-axis [1 x 1] 13 | % method - method of extrapolation 14 | % 'spline' - natural cubic spline 15 | % 'linear' - linear line that is tangent with the line at the closest 16 | % end point. 17 | % 18 | %Outputs: 19 | % X - x data points of the trimmed line [1 x n] 20 | % Y - y data points of the trimmed line [1 x n] 21 | 22 | %Error checks 23 | if xext >= x(1) && xext <= x(end) 24 | disp('Error in extend.m: xext must be < x(1) or > x(end)') 25 | end 26 | if min(diff(x)) <= 0 27 | disp('Error in extend.m: x must be monotonically increasing') 28 | end 29 | 30 | %Cubic spline coefficients 31 | c = CubicSpline(x,y,[]); 32 | 33 | if xext < x(1) 34 | if strcmp(method,'spline') 35 | yext = c(1,1)*xext^3 + c(1,2)*xext^2 + c(1,3)*xext + c(1,4); 36 | X = [xext x]; 37 | Y = [yext y]; 38 | elseif strcmp(method,'linear') 39 | m = CubicSplineInterp(x,c,x(1),1); 40 | b = y(1) - m*x(1); 41 | yext = m*xext + b; 42 | X = [xext x]; 43 | Y = [yext y]; 44 | else 45 | X = []; 46 | Y = []; 47 | end 48 | elseif xext > x(end) 49 | if strcmp(method,'spline') 50 | yext = c(end,1)*xext^3 + c(end,2)*xext^2 + c(end,3)*xext + c(end,4); 51 | X = [x xext]; 52 | Y = [y yext]; 53 | elseif strcmp(method,'linear') 54 | m = CubicSplineInterp(x,c,x(end),1); 55 | b = y(end) - m*x(end); 56 | yext = m*xext + b; 57 | X = [x xext]; 58 | Y = [y yext]; 59 | else 60 | X = []; 61 | Y = []; 62 | end 63 | else 64 | X = []; 65 | Y = []; 66 | end 67 | 68 | if strcmp('plotOpt','y') 69 | %Plot and compare extended line and the original 70 | xp = linspace(x(1),x(end),20*length(x)); 71 | yp = CubicSplineInterp(x,c,xp,0); 72 | C = CubicSpline(X,Y,[]); 73 | Xp = linspace(X(1),X(end),20*length(X)); 74 | Yp = CubicSplineInterp(X,C,Xp,0); 75 | figure() 76 | plot(X,Y,'xk') 77 | hold on 78 | plot(Xp,Yp,'-b') 79 | plot(x,y,'ok') 80 | plot(xp,yp,'--r') 81 | hold off 82 | xlabel('x') 83 | ylabel('y') 84 | legend('extened data','extended spline','original data','original spline') 85 | end 86 | 87 | end 88 | 89 | -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_CylinderCrossFlowZukauskas.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Cylinder Cross Flow - Zukauskas Library Block 6 |
7 |

This block estimates the average Nusselt number of an external flow over an isothermal cylinder. The correlation employed was the work of Zukauskas:

8 |

A. Zukauskas, "Heat Transfer from Tubes in Cross Flow," in H.P. Hartnett and T.F. Irvine, Jr., Eds, Advanaces in Heat Transfer, Vol. 8, Academic Press, New York, 1972.

9 |

and was originally developed by Hilpert:

10 |

R. Hilpert, Forsch . Geb. Ingenieurwes., 4 ,215, 1933

11 |

The modifications seeks to account for variations in fluid properties.

12 | $$ 13 | Nu = CRe^{m}Pr^{n} \left( \frac{Pr}{Pr_{s}} \right)^{1/4} 14 | $$ 15 |

where Nu is the Nusselt number, Re is the Reynolds number (with characteristic length = diameter of the cylinder), Pr is the Prandtl number, Prs is the Prandtl number evaluated at the surface temperature of the cylinder, n is 0.37 for Pr <= 10 and 0.36 for Pr >= 10, and the coefficients C and m are given in the table below:

16 | Model Coefficients: 17 | 18 | 19 | 20 | 21 | 22 |
ReCm
0.4-400.750.4
40-10000.510.5
1000-2000000.260.6
200000-10000000.0760.7
23 |
24 |

Note that all fluid properrties other than Prs should be evaluated at free stream temperature (NOT THE FILM TEMPERATURE). The correlation is subject to the following restrictions: 25 | $$ 26 | 1 \leq Re \leq 1000000, \: 0.7 \leq Pr \leq 500 27 | $$ 28 |

This block is capable of performing multiple Nusselt number approximations given 1-D input arrays of the same size.

29 | 30 | Cylinder Cross Flow - Zukauskas Inputs: 31 | 32 | 33 | 34 | 35 |
Cylinder Cross Flow - Zukauskas InputsDescription
ReReynolds number (based on the diameter of the cylinder) [nx1]
PrPrandtl number [nx1]
PrsPrandtl number evaluated at the cylinder surface temperature [nx1]
36 |
37 | Cylinder Cross Flow - Zukauskas Outputs: 38 | 39 | 40 | 41 |
Cylinder Cross Flow - Zukauskas OutputsDescription
NuAverage Nusselt number [nx1]
ValidityVariable indicating if the Re and Pr restictions are violated or not. The value of 1 if a violation is present and 0 otherwise. [nx1]
42 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_MixedBLFlatPlate.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Mixed BL Flat Plate Library Block 6 |
7 |

Reference for the information in this help file: Incropera, F.P., and DeWitt, D.P., Fundamentals of Heat and Mass Transfer, John Wiley & Sons, New York, NY, 2002. Print.

8 |

This block estimates the Nusselt number of a laminar external flow over an isothermal or isoflux flat plate. It can either calculate the local or average Nusselt number over 1 surface of the plate. The equations is: 9 | $$ 10 | Nu = \left( C_{turb}Re^{4/5} - A \right) Pr^{1/3} 11 | $$ 12 |

where

13 | $$ 14 | A = C_{turb}*Re_{cr}^{4/5} - C_{lam}*Re_{cr}^{1/2} 15 | $$ 16 |

and

17 | Coefficient Values: 18 | 19 | 20 | 21 |
IsothermalIsoflux
$$ C_{lam} $$0.6640.906
$$ C_{turb} $$0.0370.0385
22 |
23 |

Note that Re is the Reynolds number and Pr is the Prandtl number. The Reynolds number should be computed using the full length of the plate as the characteristic length. Note that all fluid properrties should be evaluated at film temperature (average of the bulk fluid and surface temperatures). Beyond the flow being transitional the implemented correlations also requires:

24 | $$ 25 | Re_{cr} \leq Re \leq 10^8, \: 0.6 \leq Pr \leq 60 26 | $$ 27 |

If these contraints are not met then the "Validity" output will be 1, and otherwise will be 0. This block is capable of performing multiple Nusselt number approximations given 1-D input arrays of the same size.

28 | 29 | Mixed BL Flat Plate Inputs: 30 | 31 | 32 | 33 |
Mixed BL Flat Plate InputsDescription
ReReynolds number [nx1]
PrPrandtl number [nx1]
34 |
35 | Mixed BL Flat Plate Outputs: 36 | 37 | 38 | 39 |
Mixed BL Flat Plate OutputsDescription
NuAverage Nusselt number [nx1]
ValidityVariable indicating if the result is valid based on the correlation restrictions. The value will be 1 if there is a violation an 0 otherwise. [nx1]
40 |
41 | Mixed BL Flat Plate Parameters Mask Variables: 42 | 43 | 44 | 45 |
Mixed BL Flat Plate Parameters Mask VariablesDescription
Recr_MCritical Reynolds number [nx1]
IsothermOrIsoflux_MVariable indicating an isothermal or isoflux plate
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_LaminarFlatPlate_ChurchillOzoe.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Laminar Flat Plate - Churchill Ozoe Library Block 6 |
7 |

Reference for the information in this help file: Incropera, F.P., and DeWitt, D.P., Fundamentals of Heat and Mass Transfer, John Wiley & Sons, New York, NY, 2002. Print.

8 |

This block estimates the Nusselt number of a laminar external flow over an isothermal flat plate using a correlation developed by Churchill and Ozoe:

9 |

S.W. Churchill, H. Ozoe, Journal of Heat Transfer, 95, 78, 1973.

10 |

It can either calculate the local or average Nusselt number over 1 surface of the plate. The equation is given as: 11 | $$ 12 | Nu = \frac{0.3387Re^{1/2}Pr^{1/3}}{\left[ 1 + \left( 0.0468/Pr \right)^{2/3} \right]^{1/4}} 13 | $$ 14 |

Note that Re is the Reynolds number and Pr is the Prandtl number. If the local Nusselt number is to be computed then the distance from the local point to the leading edge of the plate should be used as the characteristic length in the Reynolds number. If the average Nusselt number is is of interest then the full length of the plate should be used. Note that all fluid properrties should be evaluated at film temperature (average of the bulk fluid and surface temperatures). Beyond the flow being laminar the implemented correlations also requires:

15 | $$ 16 | Pe \geq 100 17 | $$ 18 |

Pe is the Peclet number (Pe = Re*Pr). If this contraint is not met then the "Validity" output will be 1, and otherwise will be 0. This block is capable of performing multiple Nusselt number approximations given 1-D input arrays of the same size.

19 | 20 | Laminar Flat Plate - Churchill Ozoe Inputs: 21 | 22 | 23 | 24 |
Laminar Flat Plate - Churchill Ozoe InputsDescription
ReReynolds number [nx1]
PrPrandtl number [nx1]
25 |
26 | Laminar Flat Plate - Churchill Ozoe Outputs: 27 | 28 | 29 | 30 |
Laminar Flat Plate - Churchill Ozoe OutputsDescription
NuLocal or Average Nusselt number [nx1]
ValidityVariable indicating if the result is valid based on the correlation restrictions. The value will be 1 if there is a violation an 0 otherwise. [nx1]
31 |
32 | Laminar Flat Plate - Churchill Ozoe Parameters Mask Variables: 33 | 34 | 35 |
Laminar Flat Plate - Churchill Ozoe Parameters Mask VariablesDescription
LocalOrAverage_MVariable indicating whether the local or average Nu is to be calculated
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_LaminarFlatPlate.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Laminar Flat Plate Library Block 6 |
7 |

Reference for the information in this help file: Incropera, F.P., and DeWitt, D.P., Fundamentals of Heat and Mass Transfer, John Wiley & Sons, New York, NY, 2002. Print.

8 |

This block estimates the Nusselt number of a laminar external flow over an isothermal or isoflux flat plate. It can either calculate the local or average Nusselt number over 1 surface of the plate. The equations is: 9 | $$ 10 | Nu = CRe^{1/2}Pr^{1/3} 11 | $$ 12 |

where C is a coefficient dependent on scenario:

13 | Coefficient Values (C): 14 | 15 | 16 | 17 |
CIsothermalIsoflux
Local Nu0.3320.453
Average Nu0.6640.906
18 |
19 |

Note that Re is the Reynolds number and Pr is the Prandtl number. If the local Nusselt number is to be computed then the distance from the local point to the leading edge of the plate should be used as the characteristic length in the Reynolds number. If the average Nusselt number is is of interest then the full length of the plate should be used. Note that all fluid properrties should be evaluated at film temperature (average of the bulk fluid and surface temperatures). Beyond the flow being laminar the implemented correlations also requires:

20 | $$ 21 | Pr \geq 0.6 22 | $$ 23 |

If this contraint is not met then the "Validity" output will be 1, and otherwise will be 0. This block is capable of performing multiple Nusselt number approximations given 1-D input arrays of the same size.

24 | 25 | Laminar Flat Plate Inputs: 26 | 27 | 28 | 29 |
Laminar Flat Plate InputsDescription
ReReynolds number [nx1]
PrPrandtl number [nx1]
30 |
31 | Laminar Flat Plate Outputs: 32 | 33 | 34 | 35 |
Laminar Flat Plate OutputsDescription
NuLocal or Average Nusselt number [nx1]
ValidityVariable indicating if the result is valid based on the correlation restrictions. The value will be 1 if there is a violation an 0 otherwise. [nx1]
36 |
37 | Laminar Flat Plate Parameters Mask Variables: 38 | 39 | 40 | 41 |
Laminar Flat Plate Parameters Mask VariablesDescription
LocalOrAverage_MVariable indicating whether the local or average Nu is to be calculated
IsothermOrIsoflux_MVariable indicating an isothermal or isoflux plate
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_SiederTate.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Sieder-Tate Library Block 6 |
7 |

Reference for the information in this help file and the presented correlation: Incropera, F.P., and DeWitt, D.P., Fundamentals of Heat and Mass Transfer, John Wiley & Sons, New York, NY, 2002. Print.

8 |

The block approximates the local Nusselt number for fully developed turbulent flow in a smooth circular tube using the Sieder-Tate correlation.

9 | $$ 10 | Nu = 0.027Re^{4/5}Pr^{1/3} \left( \frac{\mu}{\mu_s} \right)^{0.14} 11 | $$ 12 |

For tubes with different shaped cross-sections this correlation can be used as a first approximation with the hydraulic diameter of the tube used in place of the tube diameter. The equation attempts to account for variations in thermal properties of the fluid which is mainly done through considering the viscosity of the fluid at the mean fluid temperature and at the tube surface temperature. This block is recommended more so than the Dittus-Boelter equation when the variation in temperature between the surface of the pipe and the bulk fluid is large. Restrictions to this correlation include:

13 | $$ 14 | 0.7 \leq Pr \leq 16700, \: Re \geq 10000 15 | $$ 16 |

If any of these conditions are not met then the Validty output will be 1, otherwise it will be 0. Also keep in mind that the fully developed assumption typically meanse the local point of interest be at a lenght from the inlet that is 10 times the tube diameter. This correlation is a good approxiamtion for uniform surface temperature and heat flux conditions. In most applications this block may be used to return a single Nusselt number for a single pipe of uniform conditions. However, this block does have ability to perform multiple calculations of Nusselt number given consistently sized 1-D arrays for each of the inputs. The viscosity inputs can be in any viscosity unit as long as they are both in the same units.

17 | 18 | Sieder-Tate Inputs: 19 | 20 | 21 | 22 | 23 | 24 |
Sieder-Tate InputsDescription
ReReynolds number based on the pipe diameter [nx1]
PrPrandtl number [nx1]
muViscosity of the fluid evaluated at the bulk fluid temperature [nx1]
musViscosity of the fluid evaluated at the surface temperature [nx1]
25 |
26 | Sieder-Tate Outputs: 27 | 28 | 29 | 30 |
Sieder-Tate OutputsDescription
NuLocal Nusselt number [nx1]
ValidityVariable indicating if the correlation is valid for the given conditions. If Re or Pr restriction are viotlated then Validity will be 1 to indicate the result as invalid. Otherwise Validity = 0. [nx1]
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_TurbulentFlatPlate.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Turbulent Flat Plate Library Block 6 |
7 |

Reference for the information in this help file: Incropera, F.P., and DeWitt, D.P., Fundamentals of Heat and Mass Transfer, John Wiley & Sons, New York, NY, 2002. Print.

8 |

This block estimates the Nusselt number of a turbulent external flow over an isothermal or isoflux flat plate. It can either calculate the local or average Nusselt number over 1 surface of the plate. The equations is: 9 | $$ 10 | Nu = CRe^{4/5}Pr^{1/3} 11 | $$ 12 |

where C is a coefficient dependent on scenario:

13 | Coefficient Values (C): 14 | 15 | 16 | 17 |
CIsothermalIsoflux
Local Nu0.02960.0308
Average Nu0.0370.0385
18 |
19 |

Note that Re is the Reynolds number and Pr is the Prandtl number. If the local Nusselt number is to be computed then the distance from the local point to the leading edge of the plate should be used as the characteristic length in the Reynolds number. If the average Nusselt number is is of interest then the full length of the plate should be used. Note that all fluid properrties should be evaluated at film temperature (average of the bulk fluid and surface temperatures). Beyond the flow being laminar the implemented correlations also requires:

20 | $$ 21 | 500000 \leq Re \leq 10^8, \: 0.6 \leq Pr \leq 60 22 | $$ 23 |

If all of these contraints are not met then the "Validity" output will be 1, and otherwise will be 0. This block is capable of performing multiple Nusselt number approximations given 1-D input arrays of the same size.

24 | 25 | Turbulent Flat Plate Inputs: 26 | 27 | 28 | 29 |
Turbulent Flat Plate InputsDescription
ReReynolds number [nx1]
PrPrandtl number [nx1]
30 |
31 | Turbulent Flat Plate Outputs: 32 | 33 | 34 | 35 |
Turbulent Flat Plate OutputsDescription
NuLocal or Average Nusselt number [nx1]
ValidityVariable indicating if the result is valid based on the correlation restrictions. The value will be 1 if there is a violation an 0 otherwise. [nx1]
36 |
37 | Turbulent Flat Plate Parameters Mask Variables: 38 | 39 | 40 | 41 |
Turbulent Flat Plate Parameters Mask VariablesDescription
LocalOrAverage_MVariable indicating whether the local or average Nu is to be calculated
IsothermOrIsoflux_MVariable indicating an isothermal or isoflux plate
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_ThinPlateCrossFlowHilpert.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Thin Plate Cross Flow - Hilpert Library Block 6 |
7 |

This block estimates the average Nusselt number of an external flow over an isothermal thin plate that is oriented perpendicular to the flow direction. The correlation employed was originally developed by Hilpert and has been modified to address non-circular cross-sectional shapes:

8 |

R. Hilpert, Forsch . Geb. Ingenieurwes., 4 , 215, 1933

9 |

M. Jakoh, Heat Transfer, Vol. 1, Wiley, New York, 1949

10 |

E. M. Sparrow, J. P. Abraham, and J. C. K. Tong, Int. J. Heat Mass Transfer, 47, 5285, 2004

11 |

and has been modified to account for fluids with a wider range of Prandtl numbers. It has options to output the result of the front or back side of the plate. The equation is given as:

12 | $$ 13 | Nu = CRe^{m}Pr^{1/3} 14 | $$ 15 |

where Nu is the Nusselt number, Re is the Reynolds number, Pr is the Prandtl number, and the coefficients C and m are given in the table below:

16 | Model Coefficients: 17 | 18 | 19 | 20 |
SideCm
Front0.6670.500
Back0.1910.667
21 |
22 |

The Reynolds number should use the length of the plates cross-section as the characteristic length. The properties of the fluid should be evaluated at the film temperature. The correlation is subject to the following restrictions for the front surface:

23 | $$ 24 | 10000 \leq Re \leq 50000, \: Pr \geq 0.7 25 | $$ 26 |

and the back surface:

27 | $$ 28 | 7000 \leq Re \leq 80000, \: Pr \geq 0.7 29 | $$ 30 |

This block is capable of performing multiple Nusselt number approximations given 1-D input arrays of the same size.

31 | 32 | Thin Plate Cross Flow - Hilpert Inputs: 33 | 34 | 35 | 36 |
Thin Plate Cross Flow - Hilpert InputsDescription
ReReynolds number [nx1]
PrPrandtl number [nx1]
37 |
38 | Thin Plate Cross Flow - Hilpert Outputs: 39 | 40 | 41 | 42 |
Thin Plate Cross Flow - Hilpert OutputsDescription
NuAverage Nusselt number [nx1]
ValidityVariable indicating if the Re and Pr restictions are violated or not. The value of 1 if a violation is present and 0 otherwise. [nx1]
43 |
44 | Thin Plate Cross Flow - Hilpert Masked Variables: 45 | 46 | 47 |
Thin Plate Cross Flow - Hilpert Masked VariablesDescription
FrontOrBack_MVariable indicating if you desire to output the results of the front or back face of the thin plate
48 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Radiation_TSAT_HeatXCoeffRefConcCyl.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Radiation HeatX Coefficient - Reflective Concentric Cylinder Surfaces Library Block 6 |
7 |

This function computes the radiation heat transfer coefficient when the radiation term is written in a linear form (q = u*(Text - Tsurf)). This block is applicable for reflective concentric cylinder surfaces. The equation for calculating the heat transfer coefficient is given below.

8 | $$ 9 | u = \frac{\sigma}{ \frac{1-\epsilon_{surf}}{\epsilon_{surf}} \frac{R_{ext}}{R_{surf}} + \frac{1}{\epsilon_{ext}} } \left( T_{ext}^2 + T_{surf}^2 \right) \left( T_{ext} + T_{surf} \right) 10 | $$ 11 |

where

12 | $$ 13 | u = radiation \: heat \: transfer \: coefficient 14 | $$ 15 | $$ 16 | \epsilon_{surf} = emmisivity \: of \: the \: surface \: of \: interest 17 | $$ 18 | $$ 19 | \epsilon_{ext} = emmisivity \: of \: the \: external \: surface 20 | $$ 21 | $$ 22 | \sigma = Boltzmann's \: constant 23 | $$ 24 | $$ 25 | T_{surf} = temperature \: of \: the \: surface 26 | $$ 27 | $$ 28 | T_{ext} = temperature \: of \: the \: external \: surface 29 | $$ 30 | $$ 31 | R_{surf} = radius \: of \: the \: surface 32 | $$ 33 | $$ 34 | R_{ext} = radius \: of \: the \: external \: surface 35 | $$ 36 |

This block requires specific units be used. The units are clearly indicated on the input and output ports as well as the tables below.

37 |

This block accepts inputs of various dimensions as long as all inputs are consistent in dimensions.

38 | Radiation HeatX Coefficient - Reflective Concentric Cylinder Surfaces Inputs: 39 | 40 | 41 | 42 | 43 | 44 |
Radiation HeatX Coefficient - Reflective Concentric Cylinder Surfaces InputsDescription
TsurfTemperature of the surface of the object of interest (R) [nxm]
TextTemperature of the external surface (R) [nxm]
eps_surfEmissivity of the surface of the object of interest (-) [nxm]
eps_extEmissivity of the external surface (-) [nxm]
45 |
46 | Radiation HeatX Coefficient - Reflective Concentric Cylinder Surfaces Outputs: 47 | 48 | 49 |
Radiation HeatX Coefficient - Reflective Concentric Cylinder Surfaces OutputsDescription
uRadiation heat transfer coefficient (Btu/(sec-ft^2-R)) [nxm]
50 |
51 | Radiation HeatX Coefficient - Reflective Concentric Cylinder Surfaces Mask Variables: 52 | 53 | 54 | 55 |
Radiation HeatX Coefficient - Reflective Concentric Cylinder Surfaces Mask VariablesDescription
Rsurf_MRadius of the surface of interest (ft) [nxm]
Rext_MRadius of the external surface (ft) [nxm]
-------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Interpolation/run_InterpolationEx.m: -------------------------------------------------------------------------------- 1 | % run_InterpolationEx.m ==================================================% 2 | 3 | % Written By: Jonathan Kratz (NASA GRC) 4 | % Date: 12/13/2017 5 | % Description: This script populates the workspace for the 6 | % Interpolation.slx model to run, executes the model, and plots the 7 | % results. The 2-D and 3-D interpolation results are presented using a 8 | % surface plot. To visualize the results it may be necessary to use the 9 | % "Rotate 3D" tool to change the perspective of the plot. The 3-D 10 | % interpolation results are demonstrated on a surface plot as a function 11 | % of x, and y only. The data is plotted at a constant z value consistent 12 | % with the value of z at the interpolated point. 13 | 14 | close all 15 | clear all 16 | clc 17 | 18 | % Define workspace variables ---------------------------------------------% 19 | 20 | % 1-D interpolation example: y = f(x) 21 | xdata_1 = [0:0.1:10]; %x data 22 | ydata_1 = sin(xdata_1) + 0.5*xdata_1; %y data 23 | xint_1 = 5; %x interpolation point 24 | 25 | % 2-D interpolation example: z = f(x,y) 26 | xdata_2 = [0:0.1:10]; %x data 27 | ydata_2 = [0:0.1:10]; %y data 28 | for i = 1:length(xdata_2) 29 | for j = 1:length(ydata_2) 30 | zdata_2(i,j) = sin(xdata_2(i)) + sin(ydata_2(j)); %z data 31 | end 32 | end 33 | xint_2 = 5; %x interpolation point 34 | yint_2 = 8; %y interpolation point 35 | 36 | % 3-D interpolation example: v = f(x,y,z) 37 | xdata_3 = [0:0.1:10]; %x data 38 | ydata_3 = [0:0.1:10]; %y data 39 | zdata_3 = [0:0.1:10]; %z data 40 | for i = 1:length(xdata_3) 41 | for j = 1:length(ydata_3) 42 | for k = 1:length(zdata_3) 43 | vdata_3(i,j,k) = xdata_3(i) + ydata_3(j)^2 + zdata_3(i); %v data 44 | end 45 | end 46 | end 47 | xint_3 = 4; %x interpolation point 48 | yint_3 = 5; %y interpolation point 49 | ind = 71; 50 | zint_3 = zdata_3(ind); %z interpolation point 51 | 52 | % Run Model --------------------------------------------------------------% 53 | 54 | sim('InterpolationEx.slx') 55 | 56 | % Plot Results -----------------------------------------------------------% 57 | 58 | % 1-D results 59 | figure() 60 | plot(xdata_1,ydata_1,'-b','LineWidth',2) 61 | hold on 62 | plot(xint_1,out1D.Data,'xk','LineWidth',2,'MarkerSize',10) 63 | hold off 64 | title('1-D Interpolation Results') 65 | xlabel('x') 66 | ylabel('y') 67 | legend('Data','Interpolated Value',0) 68 | grid on 69 | 70 | % 2-D results 71 | figure() 72 | surface(xdata_2,ydata_2,zdata_2) 73 | hold on 74 | plot3(xint_2,yint_2,out2D.Data,'ok','LineWidth',2,'MarkerSize',10,'MarkerFaceColor','k') 75 | hold off 76 | title('2-D Interpolation Results') 77 | xlabel('x') 78 | ylabel('y') 79 | zlabel('z') 80 | legend('Data','Interpolated Value',0) 81 | grid on 82 | 83 | % 3-D results 84 | figure() 85 | surface(xdata_3,ydata_3,vdata_3(:,:,ind)) 86 | hold on 87 | plot3(xint_3,yint_3,out3D.Data,'ok','LineWidth',2,'MarkerSize',10,'MarkerFaceColor','k') 88 | hold off 89 | title('3-D Interpolation Results') 90 | xlabel('x') 91 | ylabel('y') 92 | zlabel(['v(x,y,',num2str(zdata_3(ind)),')']) 93 | legend(['Data (v = f(x,y,',num2str(zdata_3(ind)),'))'],'Interpolated Value',0) 94 | grid on -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Conduction_TSAT_InterfaceTemp.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Interface Temperature Library Block 6 |
7 |

This function is meant for estimating the temperature at an interface in a structure with multiple paths to transmit heat. This could be applicable to transitions in material or geometries in which various components connect together at the same location. Each connection to the interface has a temperature associated with it that is adjacent to the interface and a thermal resistance. The interface temperature is estimated using a weighted averaging technique based on the thermal resistances. Below is the equation for calculating the interface temperature if it is a point (vs. a line).

8 | $$ 9 | T_{int} = \frac{\sum_{i=1}^{i=n} T_{i}R_{i}}{\sum_{i=1}^{i=n} R_{i}} 10 | $$ 11 |

In the equation above, T is an array of the temperatures adjacent to the interface, R is the thermal resistance, and n is the number of total connections to the interface.

12 |

There are different options for the interface which allows it to be treated as horizontal line, vertical line, or a single point. If the interface is a horizontal line then all inputs and parameters should be input as a 2xm matrix and the output will be the interface temperature along the horizontal interface which forms a 1xm array. Similarly if the interface is a vertical line then the inputs and parameters should be an nx2 matrix and the output will be an nx1 array of the interface temperature along the vertical line. If the interface is a single point then the inputs and parameters should be a 1-D array or more generally an nxm matrix and the output will be the scalar interface temperature.

13 |

This block does not require specific units be used. However, the units must be consistent. All elements of a given input or parameter should be in the same units.

14 | Interface Temperature Inputs: 15 | 16 | 17 | 18 |
Interface Temperature InputsDescription
TArray of temperatures of points adjacent to the interface [2xm, nx2, or nxm]
RArray of thermal resistances between adjacent points to the interface [2xm, nx2, or nxm]
19 |
20 | Interface Temperature Outputs: 21 | 22 | 23 |
Interface Temperature OutputsDescription
T_intThe interface temperature. Dimensions are dependent on parameter selection and inputs [1xm, nx1, or 1x1].
24 |
25 | Interface Temperature Mask Variables: 26 | 27 | 28 | 29 | 30 |
Interface Temperature Mask VariablesDescription
int_horiz_MCheck this box if the interface is a horizontal line
int_vert_MCheck this box if the interface is a vertical line
int_pt_MCheck this box if the interface is a single point
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_DittusBoelter.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Dittus-Boelter Library Block 6 |
7 |

Reference for the information in this help file and the presented correlation: Incropera, F.P., and DeWitt, D.P., Fundamentals of Heat and Mass Transfer, John Wiley & Sons, New York, NY, 2002. Print.

8 |

The block approximates the local Nusselt number for fully developed turbulent flow in a smooth circular tube using the Dittus-Boelter equation.

9 | $$ 10 | Nu = 0.023Re^{4/5}Pr^{n} 11 | $$ 12 | $$ 13 | n = 0.4 \: for \: Ts > Tf \: , \: n = 0.3 \: for \: Ts < Tf 14 | $$ 15 |

Nu is the Nusselt number, Re is the Reynolds number, and Pr is the Prandtl number. For tubes with different shaped cross-sections this correlation can be used a first approximation with the hydraulic diameter of the tube used in place of the tube diameter. The equation has some dependence on whether the tube is being heated or cooled and hence the need for temperature inputs for the surface of the tube (Ts) and mean temperature of the fluid (Tf). All properties should be evaluated at the mean fluid temperature Tf. This correlation has the following restrictions:

16 | $$ 17 | 0.6 \leq Pr \leq 160, \: Re \geq 10000 18 | $$ 19 |

If any of these conditions are not met then the Validty output will be 1, otherwise it will be 0. Also keep in mind that the fully developed assumption typically meanse the local point of interest be at a lenght from the inlet that is 10 times the tube diameter. This correlation is a good approxiamtion for uniform surface temperature and heat flux conditions. If there are large variations in the temperature and thus properties then the Sieder-Tate correlation may be a better approximation. In most application this block may be used to return a single Nusselt number for a single pipe of uniform conditions. However, this block does have ability to perform multiple calculations of Nusselt number given consistently sized 1-D arrays for each of the inputs. The temperature inputs can be in any temperature unit as long as they are both in the same units. In fact it is only important that the temperatures indicate which one is hotter or cooler. The values themselves are not used.

20 | 21 | Dittus-Boelter Inputs: 22 | 23 | 24 | 25 | 26 | 27 |
Dittus-Boelter InputsDescription
ReReynolds number based on the pipe diameter [nx1]
PrPrandtl number [nx1]
TsSurface temperature of the pipe [nx1]
TfMean temperature of the fluid in the pipe [nx1]
28 |
29 | Dittus-Boelter Outputs: 30 | 31 | 32 | 33 |
Dittus-Boelter OutputsDescription
NuLocal Nusselt number [nx1]
ValidityVariable indicating if the correlation is valid for the given conditions. If Re or Pr restriction are viotlated then Validity will be 1 to indicate the result as invalid. Otherwise Validity = 0. [nx1]
-------------------------------------------------------------------------------- /Trunk/TSAT_Examples/2D Heat Transfer Test/run_HeatXTest2D.m: -------------------------------------------------------------------------------- 1 | % run_HeatXTest2D.m ======================================================% 2 | 3 | % Written By: Jonathan Kratz (NASA GRC) 4 | % Date: 12/15/2017 5 | % Description: This script populates the workspace for the 6 | % HeatXTest2D.slx model to run, executes the model, and displays the 7 | % results. The results are shown in the form of a generated movie that 8 | % shows how the temperature along the thickness of a wall varies with 9 | % time. The 2-D solution is compared against the 1-D solution to verify 10 | % accurate transient and steady-state operation of the 2-D block. 11 | 12 | close all 13 | clear all 14 | clc 15 | 16 | % Define workspace variables ---------------------------------------------% 17 | 18 | % Simulation Time-Step 19 | dt = 1; %Time-step [sec] 20 | tsim = 800; %simulation time [sec] 21 | 22 | % Boundary Conditions 23 | hb = 0.03; %convective heat transfer coefficient on bottom surface [Btu/(sec-ft^2-R)] 24 | Tb = 800; %temperature of fluid on the bottom surface [R] 25 | ht = 0.03; %convective heat transfer coefficient on top surface [Btu/(sec-ft^2-R)] 26 | Tt = 650; %temperature of fluid on the top surface [R] 27 | k = 0.0328; %thermal conductivity [Btu/(sec-ft-R)] 28 | Cp = 6.92; %heat capacity [Btu/(sec-ft-R)] 29 | rho = 5.238864896; %density [slug/ft^3] 30 | 31 | % 1-D vars 32 | y0 = linspace(0,3/12,10); %discretization in the y-direction 33 | k1d = k*ones(length(y0),1)'; %Thermal Conductivity [Btu/(sec-ft-R)] 34 | Cp1d = Cp*ones(length(y0),1)'; %Heat Capcity [Btu/(slug-R)] 35 | rho1d = rho*ones(length(y0),1)'; %Density [slug/ft^3] 36 | T01d = 550*ones(length(y0),1)'; %Initial Temperature [R] 37 | 38 | % 2-D vars 39 | x = linspace(0,2,30); %discretization of flat plate along it's length [ft] 40 | n = length(x); %number of elements in x 41 | y = []; 42 | for i = 1:length(x) 43 | y = [y y0']; 44 | end 45 | k2d = k*ones(length(y0),length(x)); %Thermal Conductivity [Btu/(sec-ft-R)] 46 | Cp2d = Cp*ones(length(y0),length(x)); %Heat Capcity [Btu/(slug-R)] 47 | rho2d = rho*ones(length(y0),length(x)); %Density [slug/ft^3] 48 | T02d = []; 49 | for j = 1:length(x) 50 | T02d = [T02d T01d']; %Initial Temperature [R] 51 | end 52 | 53 | % Run Model --------------------------------------------------------------% 54 | 55 | sim('HeatXTest2D.slx') 56 | 57 | % Plot Results -----------------------------------------------------------% 58 | 59 | %Temperature Profile Movie 60 | fig1 = figure(); 61 | vidObj = VideoWriter('TempProfile.mp4','MPEG-4'); 62 | vidObj.FrameRate = 20; 63 | open(vidObj); 64 | j = 1; 65 | for i = 1:length(T1d.Time) 66 | if i == 1 || T1d.Time(i) > 1*j 67 | %Plot 68 | plot(y0*12,T1d.Data(1,:,i),'-b','LineWidth',2); 69 | hold on 70 | plot(y0*12,T2d.Data(:,round(n/2),i),'--r','LineWidth',2); 71 | hold off 72 | title('Temperature Profile') 73 | xlabel('y [in]') 74 | ylabel('T [^oR]') 75 | legend('1-D','2-D',0) 76 | axis([0 y0(end)*12 500 850]); 77 | grid on 78 | %Add Time as text 79 | Time = [num2str(T1d.Time(i)),'sec']; 80 | TT = text(y0(end)*12/5,800,['Time: ',Time]); 81 | TT.FontSize = 14; 82 | %Get frame and write to movie 83 | currFrame = getframe(fig1); 84 | writeVideo(vidObj,currFrame) 85 | j = j + 1; 86 | end 87 | end 88 | close(vidObj); -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_FCVertPlateLamConvAnalytical.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Vertical Plate Laminar Free Convection - Analytical Library Block 6 |
7 |

Reference for the information in this help file: Incropera, F.P., and DeWitt, D.P., Fundamentals of Heat and Mass Transfer, John Wiley & Sons, New York, NY, 2002. Print.

8 |

This block estimates the average Nusselt number of free convecting flow past one side of an isothermal vertical flat plate or vertical surface. The average Nusselt number is calculated based on an analytical solution for and isothermal vertical surface in an extensive quiescent medium. The following boundary conditions apply:

9 | $$ 10 | y = 0: \: u = v = 0, \: T = T_{s} 11 | $$ 12 | $$ 13 | y \rightarrow \infty: \: u \rightarrow 0, \: T \rightarrow T_{\infty} 14 | $$ 15 |

where

16 | $$ 17 | u = the \: velocity \: in \: the \: vertical \: direction, \: v = the \: velocity \: in \: the \: horizontal \: direction 18 | $$ 19 | $$ 20 | T_{s} = temperature \: of \: the \: surface, \: T_{\infty} = temperature \: of \: the \: quiescent \: medium 21 | $$ 22 |

The solution is:

23 | $$ 24 | Nu = \frac{4}{3} \left( \frac{Gr}{4} \right)^{1/4} g(Pr) 25 | $$ 26 |

where

27 | $$ 28 | g(Pr) = \frac{0.75 Pr^{1/2}}{ \left( 0.609 + 1.221 Pr^{1/2} + 1.238 Pr \right)^{1/4} } 29 | $$ 30 |

Gr is the Grashof number and Pr is the Prandtl number. Note that this solution comes from the following references

31 |

S. Ostrach, "An Analysis of Laminar Free Convection Flow and Heat Transfer About a Flat Plate Parallel to the Direaction of the Generating Body Force," National Advisory Committee for Aeronautics, Report 1111, 1953.

32 |

E. J. LeFerve, "Laminar Free Convection from a Vertical Plane Surface," Proc. Ninth Int. Congr. Apple. Mech., Brussels, Vol. 4, 168, 1956.

33 |

Note that all fluid properties should be evaluated at film temperature (average of the bulk fluid and surface temperatures). The characteristic length used for the Grashof number should be the length of the plate or surface. Keep in mind that this solution is only applicable to laminar flow which typically occurs when the Rayliegh number (Ra) is less than 10^9. This block is capable of performing multiple calculations given 1-D arrays of consistent size for the inputs.

34 | 35 | Vertical Plate Laminar Free Convection - Analytical Inputs: 36 | 37 | 38 | 39 |
Vertical Plate Laminar Free Convection - Analytical InputsDescription
GrGrashof number [nx1]
PrPrandtl number [nx1]
40 |
41 | Vertical Plate Laminar Free Convection - Analytical Outputs: 42 | 43 | 44 | 45 |
Vertical Plate Laminar Free Convection - Analytical OutputsDescription
NuAverage Nusselt number [nx1]
ValidityVariable indicating if the transition Rayleigh number (10^9) was exceeded making the calculation invalid. This value will be 1 if this condition is viloated and 0 otherwise. [nx1]
46 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_SquareRodCrossFlowHilpert.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Square Rod Cross Flow - Hilpert Library Block 6 |
7 |

This block estimates the average Nusselt number of an external flow over an isothermal rod with a square cross-section. The correlation employed was originally developed by Hilpert and has been modified to address non-circular cross-sectional shapes:

8 |

R. Hilpert, Forsch . Geb. Ingenieurwes., 4 , 215, 1933

9 |

M. Jakoh, Heat Transfer, Vol. 1, Wiley, New York, 1949

10 |

E. M. Sparrow, J. P. Abraham, and J. C. K. Tong, Int. J. Heat Mass Transfer, 47, 5285, 2004

11 |

and has been modified to account for fluids with a wider range of Prandtl numbers. It has options to address the case in which the flow is directed at a point of the square or a side. The equation is given as:

12 | $$ 13 | Nu = CRe^{m}Pr^{1/3} 14 | $$ 15 |

where Nu is the Nusselt number, Re is the Reynolds number, Pr is the Prandtly number, and the coefficients C and m are given in the table below:

16 | Model Coefficients: 17 | 18 | 19 | 20 |
Flow directionCm
Flow at point0.3040.59
Flow at face0.1580.66
21 |
22 |

Note that when the flow is directed at a face, the Reynolds number should be calculated based on the length of the sides of the square and when the flow is directed at a point, the Reynolds number should be calculated based on the length from opposite points of the square. The properties of the fluid should be evaluated at the film temperature. The correlation is subject to the following restrictions when the flow is directed at a point:

23 | $$ 24 | 6000 \leq Re \leq 60000, Pr \geq 0.7 25 | $$ 26 |

and the following restrictions when the flow is directed at a side:

27 | $$ 28 | 5000 \leq Re \leq 60000, Pr \geq 0.7 29 | $$ 30 |

This block is capable of performing multiple Nusselt number approximations given 1-D input arrays of the same size.

31 | 32 | Square Rod Cross Flow - Hilpert Inputs: 33 | 34 | 35 | 36 |
Square Rod Cross Flow - Hilpert InputsDescription
ReReynolds number [nx1]
PrPrandtl number [nx1]
37 |
38 | Square Rod Cross Flow - Hilpert Outputs: 39 | 40 | 41 | 42 |
Square Rod Cross Flow - Hilpert OutputsDescription
NuAverage Nusselt number [nx1]
ValidityVariable indicating if the Re and Pr restictions are violated or not. The value of 1 if a violation is present and 0 otherwise. [nx1]
43 |
44 | Square Rod Cross Flow - Hilpert Masked Variables: 45 | 46 | 47 |
Square Rod Cross Flow - Hilpert Masked VariablesDescription
PointOrFace_MVariable indicating if the flow is directed toward a point or side of the square (edge or face of the rod)
48 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_SutherlandsLaw.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Sutherland's Law Library Block 6 |
7 |

This block implements Sutherlands law to approximate viscosity of a gas.

8 | $$ 9 | \mu = \mu_{ref} \left( \frac{T}{T_{ref}} \right)^{3/2} \frac{T_{ref}+S}{T+S} 10 | $$ 11 | $$ 12 | \mu = viscosity, \: mu_{ref} = reference \: viscosity 13 | $$ 14 | $$ 15 | T = temperature, \: T_{ref} = reference \: temperature 16 | $$ 17 | $$ 18 | S = the \: Sutherland \: temperature 19 | $$ 20 |

Given appropriate parameters it is applicable to various gases. Parameters for some common gases are provided in the table below:

21 | Sutherland Equation Coefficients for Select Gases: 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Gas$$ T_{ref} $$ $$ (^oR) $$$$ \mu_{ref} $$ $$ 10^{-7} \left( \frac{lb_f-sec}{ft^2} \right) $$$$ S $$ $$ (^oR) $$
Air524.073.8157216.2162
Ammonia527.672.0509666.667
Carbon Dioxide527.673.0910432.4324
Carbon Monoxide518.673.5922212.6126
Hydrogen528.931.8295129.7297
Nitrogen540.993.7196200.0000
Oxygen526.054.2146228.8288
Sulfur Dioxide528.572.6190749.5495
32 |
33 |

Sutherland's law is based on kinematic theory of ideal gases and an idealized intermolecular-force potential. It typically gives results that are accurate within a few percent over a wide temperature range. The temperature range in which the equation is valid will be dependent on the gas and the paramters you are using. For hydrocarbon vapors and natural gases, the input temperature T is typically restricted to the a range from 0 to 1000degF. Be sure to observe the valid temperature range when using this block to assure accurate results. Units of the temperature and viscosity will be dependent on the units of the parameters chosen which should be consistent.

34 |

This block is capable of performing multiple viscosity approximations given an array of temperatures.

35 | 36 | Sutherland's Law Inputs: 37 | 38 | 39 |
Sutherland's Law InputsDescription
TTemperature of the gas [nx1]
40 |
41 | Sutherland's Law Outputs: 42 | 43 | 44 |
Sutherland's Law OutputsDescription
muViscosity of the gas [nx1]
45 |
46 | Sutherland's Law Parameters Mask Variables: 47 | 48 | 49 | 50 | 51 |
Sutherland's Law Parameters Mask VariablesDescription
Tref_MReference temperature [1x1]
muref_MReference viscosity [1x1]
S_MSutherland temperature [1x1]
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_LamCoiledTube.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Laminar Coiled Tube Library Block 6 |
7 |

Coiled tubes are sometimes used to enhance heat transfer without turbulence or additional surface area. It utilizes centrifugal forces within the flow which induces secondary flow that enhances heat transfer. This block estimates the average Nusselt number for a helically coiled tube with an internal flow. The correlation was provided by Shah and Joshi:

8 |

R.K. Shah, and S.D. Joshi, in Handbook of Single-Phase Convective Heat Transfer, Chap. 5, Wiley-Interscience, Hoboken, MJ, 1987.

9 |

The correlation is:

10 | $$ 11 | Nu = \left[ \left( 3.66+\frac{4.343}{a} \right)^{3} + 1.158 \left( \frac{Re(D/C)^{1/2}}{b} \right)^{3/2} \right]^{1/3} \left( \frac{\mu}{\mu_{s}} \right)^{0.14} 12 | $$ 13 |

where

14 | $$ 15 | a = 1 + \frac{927(C/D)}{Re^{2}Pr}, 16 | $$ 17 | $$ 18 | b = 1 + \frac{0.477}{Pr} 19 | $$ 20 |

and

21 | $$ 22 | Nu = Nusselt \: number, \: Re = Reynolds \: number, \: Pr = Prandtl \: number 23 | $$ 24 | $$ 25 | \mu = viscosity, \: \mu_{s} = viscosity \: at \: surface \: temperature 26 | $$ 27 | $$ 28 | D = diameter \: of \: the \: internal \: flow \: path, \: C = diameter \: of \: the \: coils 29 | $$ 30 |

The implemented correlation is valid for:

31 | $$ 32 | 1 \leq Re(D/C)^{1/2} \leq 1000, \: 0.005 \leq Pr \leq 1600 33 | $$ 34 |

The Re contraint typically restricts use to laminar flow (Re < Re,c*(1 + 12*(D/C)^(1/2)), Re,c = ~2300). For turbulent flow the effects of secondary flow is minor and a straight pipe correlation for turbulent flow is more appropriate. Also, a straight pipe laminar flow correlation may suffice when C/D >= 20 in which case error is less than 10%. Note that the Reynolds number and ensuing heat transfer coefficient should be calculated using the diameter of the tube (D) as the characteristic length.

35 |

This block is capable of performing multiple Nusselt number approximations given 1-D input arrays of the same size.

36 | 37 | Laminar Coiled Tube Inputs: 38 | 39 | 40 | 41 | 42 | 43 |
Laminar Coiled Tube InputsDescription
ReReynolds number (based on the diameter of the largest tube in the bank) [nx1]
PrPrandtl number [nx1]
muViscosity of the fluid [nx1]
musViscosity of the fluid at the surface temperature of the tube [nx1]
44 |
45 | Laminar Coiled Tube Outputs: 46 | 47 | 48 | 49 |
Laminar Coiled Tube OutputsDescription
NuAverage Nusselt number [nx1]
ValidityVariable indicating if the Re and Pr restictions are violated or not. The value of 1 if a violation is present and 0 otherwise. [nx1]
50 |
51 | Laminar Coiled Tube Masked Variables: 52 | 53 | 54 |
Laminar Coiled Tube Masked VariablesDescription
DoC_MRatio of the diameter of the tube flow cross-section to the diameter of the coil [1x1]
55 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_FCHorizCyl.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Horizontal Cylinder Free Convection Library Block 6 |
7 |

Reference for the information in this help file: Incropera, F.P., and DeWitt, D.P., Fundamentals of Heat and Mass Transfer, John Wiley & Sons, New York, NY, 2002. Print.

8 |

This block estimates the average Nusselt number of a free convecting flow about a horizontal isothermal cylinder. This block allows the application of two different correlations. The first is a set of equations developed by Morgan, each of which is valid over a different Rayliegh number (Ra) range. The reference and correlation is given below:

9 |

V. T. Morgan, "The Overall Convective Heat Transfer from Smooth Circular Cylinders," in T. F. Irvine and J. P. Harnett, Eds., Advances in Heat Transfer, Vol. 11, Academic Press, New York, 1975, pp. 199-264.

10 | $$ 11 | Nu = C Ra^n 12 | $$ 13 |

where C and n are constants provided in the following table:

14 | Morgan Correlation Constants: 15 | 16 | 17 | 18 | 19 | 20 | 21 |
RaCn
10^-10 - 0.010.6750.058
0.01 - 1001.020.148
100 - 100000.8500.188
10000 - 10^70.4800.25
10^7 - 10^120.1250.333
22 |
23 |

The second is a single correlation developed by Churchil and Chu that is valid over a wide range of Rayliegh numbers. Below if the reference and correlation:

24 |

S. W. Churchill, and H. H. S. Chu, Int. J. Heat Mass Transfer, 18, 1049, 1975.

25 | $$ 26 | Nu = \left[ 0.60 + \frac{0.387 Ra^{1/6}}{ \left[ 1 + \left( 0.559/Pr \right)^{9/16} \right]^{8/27} } \right]^{2}, \: \: Ra \leq 10^{12} 27 | $$ 28 |

The Rayliegh number should use the cylinder diamter as the characteristich length. Note that all fluid properties should be evaluated at the film temperature (average of the bulk fluid and surface temperatures). This block is capable of performing multiple calculations given 1-D arrays of consistent size for the inputs.

29 | 30 | Horizontal Cylinder Free Convection Inputs: 31 | 32 | 33 | 34 |
Horizontal Cylinder Free Convection InputsDescription
RaRayliegh number (Characteristic Length = Cylinder Diameter) [nx1]
PrPrandtl number [nx1]
35 |
36 | Horizontal Cylinder Free Convection Outputs: 37 | 38 | 39 | 40 |
Horizontal Cylinder Free Convection OutputsDescription
NuAverage Nusselt number over the circumference of the cylinder [nx1]
ValidityVariable indicating if the any of the applicable restrictions were violated. This value will be 1 if this condition is viloated and 0 otherwise. [nx1]
41 |
42 | Horizontal Cylinder Free Convection Mask Variables: 43 | 44 | 45 |
Horizontal Cylinder Free Convection Mask VariablesDescription
Corr_MVariable indication which correlation to use.
46 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_HexagonRodCrossFlowHilpert.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Hexagonal Rod Cross Flow - Hilpert Library Block 6 |
7 |

This block estimates the average Nusselt number of an external flow over an isothermal rod with a hexagonal cross-section. The correlation employed was originally developed by Hilpert and has been modified to address non-circular cross-sectional shapes:

8 |

R. Hilpert, Forsch . Geb. Ingenieurwes., 4 , 215, 1933

9 |

M. Jakoh, Heat Transfer, Vol. 1, Wiley, New York, 1949

10 |

E. M. Sparrow, J. P. Abraham, and J. C. K. Tong, Int. J. Heat Mass Transfer, 47, 5285, 2004

11 |

and has been modified to account for fluids with a wider range of Prandtl numbers. It has options to address the case in which the flow is directed at a point of the hexagon or a side. The equation is given as:

12 | $$ 13 | Nu = CRe^{m}Pr^{1/3} 14 | $$ 15 |

where Nu is the Nusselt number, Re is the Reynolds number, Pr is the Prandtl number, and the coefficients C and m are given in the table below:

16 | Model Coefficients: 17 | 18 | 19 | 20 | 21 |
Flow directionCm
Flow at point0.1500.638
Flow at face (Re = 5200 to 20400)0.1640.638
Flow at face (Re = 20400 to 105000)0.0390.78
22 |
23 |

Note that when the flow is directed at a face, the Reynolds number should be calculated based on the length from opposite sides of the hexagon and when the flow is directed at a point, the Reynolds number should be calculated based on the length from opposite points of the hexagon. The properties of the fluid should be evaluated at the film temperature. The correlation is subject to the following restrictions when the flow is directed at a point:

24 | $$ 25 | 4500 \leq Re \leq 90700, \: Pr \geq 0.7 26 | $$ 27 |

and the following restrictions when the flow is directed at a side:

28 | $$ 29 | 5200 \leq Re \leq 105000, \: Pr \geq 0.7 30 | $$ 31 |

This block is capable of performing multiple Nusselt number approximations given 1-D input arrays of the same size.

32 | 33 | Hexagonal Rod Cross Flow - Hilpert Inputs: 34 | 35 | 36 | 37 |
Hexagonal Rod Cross Flow - Hilpert InputsDescription
ReReynolds number [nx1]
PrPrandtl number [nx1]
38 |
39 | Hexagonal Rod Cross Flow - Hilpert Outputs: 40 | 41 | 42 | 43 |
Hexagonal Rod Cross Flow - Hilpert OutputsDescription
NuAverage Nusselt number [nx1]
ValidityVariable indicating if the Re and Pr restictions are violated or not. The value of 1 if a violation is present and 0 otherwise. [nx1]
44 |
45 | Hexagonal Rod Cross Flow - Hilpert Masked Variables: 46 | 47 | 48 |
Hexagonal Rod Cross Flow - Hilpert Masked VariablesDescription
PointOrFace_MVariable indicating if the flow is directed toward a point or side of the hexagon (edge or face of the rod)
49 |
-------------------------------------------------------------------------------- /Trunk/install_TSAT.m: -------------------------------------------------------------------------------- 1 | function install_TSAT() 2 | % This subroutine installs TSAT 3 | 4 | % TSATver and date must remain in the listed form for the ver command to work 5 | % properly. 6 | TSATver = '1.0.0'; 7 | TSATdate = '22Feb-2018'; 8 | 9 | TSATInstallmsg = 'Install TSAT matlab toolbox? Note: Installation will add MATLAB paths'; 10 | POp = filesep; 11 | 12 | switch questdlg(TSATInstallmsg, 'TSAT Library','Temporary Install', 'Install', 'Cancel', 'Cancel'); 13 | case 'Temporary Install' 14 | InstallType = 'Install'; 15 | PermInstall = 0; 16 | case 'Install' 17 | InstallType = 'Install'; 18 | PermInstall = 1; 19 | case 'Cancel' 20 | InstallType = 'Cancel'; 21 | PermInstall = 0; 22 | end 23 | % check if TSAT_Library is in the path 24 | switch InstallType 25 | case 'Install', 26 | p = path; % current path 27 | CurrDir = pwd; % current directory 28 | % define new paths 29 | Pth{1} = strcat(pwd,POp,'TSAT_Library'); 30 | Pth{2} = strcat(pwd,POp,'TSAT_Library',POp,'TSAT_Support'); 31 | Pth{3} = strcat(pwd,POp,'TSAT_Tools'); 32 | Pth{4} = strcat(pwd,POp,'TSAT_Tools',POp,'Tools'); 33 | Pth{5} = strcat(pwd,POp,'TSAT_Library',POp,'MATLAB_Scripts'); 34 | 35 | perm = zeros( 1 , length(Pth)); % allocate memory for perm 36 | for i = 1: length(Pth) 37 | 38 | perm(i) = isempty(strfind(pathdef,strcat( Pth{i} , ';' ))); % determine if path is already defined 39 | 40 | if perm(i) % for each path if it is not defined, define it 41 | path(pathdef); 42 | addpath(Pth{i}); 43 | if PermInstall == 1; 44 | SP = savepath; 45 | if SP==0 46 | disp(sprintf(' %s has been saved to the permanent Path structure.',Pth{i})); 47 | else 48 | error = 1; 49 | disp(sprintf('Error: %s has not been added to the permanent Path structure. To use TSAT blocks Install_TSAT.m will need to be run each time MATLAB is opened.',Pth{i})); 50 | end 51 | else 52 | disp(sprintf(' %s has been added to the Path structure.',Pth{i})); 53 | end 54 | else 55 | disp (sprintf('%s is already defined in the path structure',Pth{i})); 56 | end 57 | end 58 | 59 | 60 | % return to current path. 61 | path(p); 62 | for i = 1:length(Pth) 63 | addpath(Pth{i}); 64 | end 65 | 66 | if PermInstall == 1 67 | cd( 'TSAT_Library') 68 | disp('Building Contents.m file'); 69 | fid = fopen('Contents.m','w'); 70 | fprintf(fid,'%% TSAT.\n'); 71 | fprintf(fid,['%% Version',' ',TSATver,' ',TSATdate,'\n%%\n%% Files\n']); 72 | fprintf(fid,'%% Install_TSAT - This subroutine installs TSAT\n'); 73 | fprintf(fid,'%% Uninstall_TSAT - This subroutine uninstalls TSAT\n'); 74 | fclose(fid); 75 | eval(['cd ' CurrDir]); 76 | end 77 | 78 | 79 | disp('Refreshing Simulink Browser...'); 80 | LB = LibraryBrowser.LibraryBrowser2; 81 | LB.refresh; 82 | 83 | disp('TSAT Simulink library installation complete.'); 84 | 85 | case 'Cancel', 86 | disp('TSAT installation aborted.'); 87 | end 88 | 89 | -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_TurbAxisymBodyAmbrok.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Turbulent Convection on Axisymmetric Body w/ Varying Velocity and Temperature Library Block 6 |
7 |

Reference for the information in this help file: White, F.M., Viscous Fluid Flow 3rd Ed., McGraw Hill, New York, NY, 2006. Print.

8 |

This block implements a simple and reliable theory developed by Ambrok (1957) that allows for the appsoximation of the local Stanton number of turbulent flow with a varying velocity and temperature profile along an axisymmetric body. Ambrok's Stanton number correlation comes from solving a modeled energy-integral equation so that the local Stanton number could be approximated by simple quadrature.

9 | $$ 10 | St = 0.0295 Pr^{-0.4} \frac{r_0^{0.25} \left( T_w - T_e \right)^{0.25} \mu^{0.2}}{\left[ \int_0^x r_0^{1.25} \left( T_w - T_e \right)^{1.25} \rho U dx \right]^{0.2}} 11 | $$ 12 |

where

13 | $$ 14 | x = axial \: location \: along \: the \: body, \: r_0 = radius \: of \: the \: body 15 | $$ 16 | $$ 17 | Pr = Prandtl \: number, \: T_w = wall \: temperature, \: T_e = free-stream \: temperature 18 | $$ 19 | $$ 20 | U = free-stream \: velocity, \: \rho = density, \: \mu = dynamic \: viscosity 21 | $$ 22 |

The Stanton number is then used to obtain the local Nusselt number.

23 | $$ 24 | Nu = St Re Pr 25 | $$ 26 |

When the radius, r0(x), is constant the Stanton number should give a descent approximation for a 2-D body. When r0, U, and (Tw - Te) are constant the Stanton number correlation reduces to: 27 | $$ 28 | St = 0.0295*Pr^{-0.4}Re^{-0.3} 29 | $$ 30 |

which is nearly equal to the traditional Reynolds Analogy.

31 |

Assure that all inputs and parameters use consistent units. 32 |

This block performs numerical integration and so it is important to have a sufficient number of points for good accuracy and the x array should start near 0 but not 0 as this would result in the denominator being equal to 0. Similaryly, no element of r0 should be equal to 0. It is important that all array parameters and inputs have the same number of elements.

33 | 34 | Turbulent Convection on Axisymmetric Body w/ Varying Velocity and Temperature Inputs: 35 | 36 | 37 | 38 | 39 | 40 |
Turbulent Convection on Axisymmetric Body w/ Varying Velocity and Temperature InputsDescription
UFree-stream velocity [nx1]
muDynamic viscosity [nx1]
rhoFluid density [nx1]
Tw - TeTemperature difference between the wall and free-stream [nx1]
41 |
42 | Turbulent Convection on Axisymmetric Body w/ Varying Velocity and Temperature Outputs: 43 | 44 | 45 |
Turbulent Convection on Axisymmetric Body w/ Varying Velocity and Temperature OutputsDescription
NuLocal Nusselt number [mx1]
46 |
47 | Turbulent Convection on Axisymmetric Body w/ Varying Velocity and Temperature Masked Variables: 48 | 49 | 50 | 51 | 52 |
Turbulent Convection on Axisymmetric Body w/ Varying Velocity and Temperature Masked VariablesDescription
Pr_MPrandtl number [1x1]
x_MAxial osition(s) along the surface [nx1]
r0_MRadius of the axisymmetric body [nx1]
53 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_FCHorizPlate.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Horizontal Plate Free Convection Library Block 6 |
7 |

Reference for the information in this help file: Incropera, F.P., and DeWitt, D.P., Fundamentals of Heat and Mass Transfer, John Wiley & Sons, New York, NY, 2002. Print.

8 |

This block estimates the average Nusselt number of free convection on the surface of a horizontal plate. Flow patterns and heat transfer are heavily dependent on whether the plate is hot or cold and whether the surface is on the top or the bottom. This block employs different correlations to handle each case.

9 |

For the upper surface of a hot plate or lower surface of a cold plate the following correlations are recommended in the reference:

10 |

J. R. Lloyd, and W. R. Moran, J. Heat Transfer, 96, 443, 1974.

11 | $$ 12 | Nu = 0.54Ra^{1/4}, \: \: \left( 10^4 \leq Ra \leq 10^7, \: Pr \geq 0.7 \right) 13 | $$ 14 | $$ 15 | Nu = 0.15Ra^{1/3}, \: \: \left( 10^7 \leq Ra \leq 10^{11}, \: all \: Pr \right) 16 | $$ 17 |

For the lower surface of a hot plate or upper surface of a cold plate the following correlation is recommended by this reference:

18 |

E. Radziemska, and W. M. Lewandowski, Applied Energy, 68, 347, 2001.

19 | $$ 20 | Nu = 0.52Ra^{1/5}, \: \: \left( 10^4 \leq Ra \leq 10^9, \: Pr \geq 0.7 \right) 21 | $$ 22 |

The characteristic length in the Rayliegh number should be consistent with recommendation for the shape. It was found in the following references that L = A/P can be used for a variety of shapes where A is the surface are of one side of the plate and P is it's perimeter:

23 |

R. J. Goldstein, E. M. Sparrow, and D. C. Jones, Int. J. Heat Mass Transfer. 16. 1025. 1973.

24 |

J. R. Lloyd, and W. R. Moran, J. Heat Transfer, 96, 443, 1974.

25 |

Note that all fluid properties should be evaluated at the film temperature (average of the bulk fluid and surface temperatures). This block is capable of performing multiple calculations given 1-D arrays of consistent size for the inputs. The units of the surface and fluid temperature inputs does not matter. Infact the values themselves do not matter. What does matter is the relative temperature difference which determines if the plate is hotter or colder than the surrounding fluid.

26 | 27 | Horizontal Plate Free Convection Inputs: 28 | 29 | 30 | 31 | 32 | 33 |
Horizontal Plate Free Convection InputsDescription
RaRayliegh number [nx1]
PrPrandtl number [nx1]
TsTemperature of the surface [nx1]
TfTemperature of the fluid [nx1]
34 |
35 | Horizontal Plate Free Convection Outputs: 36 | 37 | 38 | 39 |
Horizontal Plate Free Convection OutputsDescription
NuAverage Nusselt number [nx1]
ValidityVariable indicating if the any of the applicable restrictions were violated. This value will be 1 if this condition is viloated and 0 otherwise. [nx1]
40 |
41 | Horizontal Plate Free Convection Mask Variables: 42 | 43 | 44 |
Horizontal Plate Free Convection Mask VariablesDescription
UpperOrLower_MChecked if the upper surface of the plate is to be considered, unchecked if the lower surface of the plate is to be considered.
45 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Examples/Non-Isotropic Structures/run_NonIsotropicEx.m: -------------------------------------------------------------------------------- 1 | % run_NonIsotropicEx.m ===================================================% 2 | 3 | % Written By: Jonathan Kratz (NASA GRC) 4 | % Date: 12/23/2017 5 | % Description: This script populates the workspace for the 6 | % NonIsotropicEx.slx model to run, executes the model, and displays the 7 | % results. The results are shown in the form of a generated movie that 8 | % shows how the temperature varies with time. The example shows the 9 | % use of a 2-D heat transfer block to model a non-isotropic structure. 10 | % Open the NonIsotropicEx.slx model for a description of the problem. 11 | 12 | close all 13 | clear all 14 | clc 15 | 16 | % Define workspace variables ---------------------------------------------% 17 | 18 | % Simulation Time-Step 19 | dt = 0.5; %Time-step [sec] 20 | tsim = 1000; %simulation time [sec] 21 | 22 | % Boundary Conditions 23 | hb = 0.035; %convective heat transfer coefficient on bottom surface [Btu/(sec-ft^2-R)] 24 | Tb = 700; %temperature of fluid on the bottom surface [R] 25 | ht = 0.035; %convective heat transfer coefficient on top surface [Btu/(sec-ft^2-R)] 26 | Tt = 700; %temperature of fluid on the top surface [R] 27 | hl = 0.035; %convective heat transfer coefficient on left surface [Btu/(sec-ft^2-R)] 28 | Tl = 700; %temperature of fluid on the left surface [R] 29 | hr = 0.035; %convective heat transfer coefficient on right surface [Btu/(sec-ft^2-R)] 30 | Tr = 700; %temperature of fluid on the right surface [R] 31 | 32 | % Material Properties 33 | % -- material 1 34 | k1 = 0.0328; %thermal conductivity [Btu/(sec-ft-R)] 35 | Cp = 6.92; %heat capacity [Btu/(sec-ft-R)] 36 | rho = 5.238864896; %density [slug/ft^3] 37 | % -- material 2 38 | k2 = 0.01; %thermal conductivity [Btu/(sec-ft-R)] 39 | 40 | % 1-D vars 41 | y0 = linspace(0,8/12,20); %discretization in the y-direction 42 | m = length(y0); 43 | T01d = 550*ones(length(y0),1)'; %Initial Temperature [R] 44 | 45 | % 2-D vars 46 | x = linspace(0,8/12,20); %discretization of flat plate along it's length [ft] 47 | n = length(x); %number of elements in x 48 | y = []; 49 | for i = 1:length(x) 50 | y = [y y0']; 51 | end 52 | k2dy = k1*ones(length(y0),length(x)); %Thermal Conductivity [Btu/(sec-ft-R)] 53 | k2dx = k2*ones(length(y0),length(x)); %Thermal Conductivity [Btu/(sec-ft-R)] 54 | Cp2d = Cp*ones(length(y0),length(x)); %Heat Capcity [Btu/(slug-R)] 55 | rho2d = rho*ones(length(y0),length(x)); %Density [slug/ft^3]); 56 | T02d = []; 57 | for j = 1:length(x) 58 | T02d = [T02d T01d']; %Initial Temperature [R] 59 | end 60 | 61 | % Run Model --------------------------------------------------------------% 62 | 63 | sim('NonIsotropicEx.slx') 64 | 65 | % Plot Results -----------------------------------------------------------% 66 | 67 | X = []; 68 | for i = 1:length(y0) 69 | X = [X; x]; 70 | end 71 | 72 | Tmin = min(min(min(T2d.Data))); 73 | Tmax = max(max(max(T2d.Data))); 74 | 75 | %Temperature Profile Movie 2D 76 | fig2 = figure(); 77 | vidObj = VideoWriter('NonIsotropicMovie.mp4','MPEG-4'); 78 | vidObj.FrameRate = 10; 79 | open(vidObj); 80 | j = 1; 81 | for i = 1:1:length(T2d.Time) 82 | if i == 1 || T2d.Time(i) >= 5*j 83 | %Plot 84 | [C,h] = contourf(X*12,y*12,T2d.Data(:,:,i),100); 85 | set(h,'LineColor','none') 86 | title('Temperature Profile [^oR]') 87 | xlabel('x [in]') 88 | ylabel('y [in]') 89 | colormap('jet') 90 | colorbar 91 | caxis([Tmin Tmax]) 92 | axis([min(x)*12 max(x)*12 min(min(y))*12 max(max(y))*12]); 93 | %Add Time as text 94 | Time = [num2str(T2d.Time(i)),'sec']; 95 | TT = text(x(end)*12/5,y0(end)*12/5,['Time: ',Time]); 96 | TT.FontSize = 14; 97 | %Get frame and write to movie 98 | currFrame = getframe(fig2); 99 | writeVideo(vidObj,currFrame) 100 | j = j + 1; 101 | end 102 | end 103 | close(vidObj); -------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_FCVertRectCavity.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Vertical Rectangular Cavity Free Convection Library Block 6 |
7 |

Reference for the information in this help file: White, F.M., Viscous Fluid Flow 3rd Ed., McGraw Hill, New York, NY, 2006. Print.

8 |

This block gives a first approximation of the average Nusselt number of free convection within a rectangular vertical cavity. The vertical surfaces are heated and cooled while the horizontal surfaces are adiabatic. The flow motion is characterized by a recirculating or cellular flow for which fluid ascends along the hot wall and descends along the cold wall. A set of empirical correlation is employed by this block. Which is active is dependent on the Rayliegh number and aspect ratio (H/L). H is the height of the cavity and L is the distance between the hot and cold surfaces. The correlations employed were recommended by Catton. The Reference, eqaution, and additonal restrictions are listed below:

9 |

L. Catton, "Natural Convection in Enclosures," Proc. 6th Int. Heat Transfer Conf., Toronto, Canada, 1978, Vol. 6, pp. 13-31.

10 |

L. Catton, P. S. Ayyaswamy, and R. M. Clever, Int. J. Heat Mass Transfer, 17, 173, 1974.

11 |

For aspect ratios in the between 1 and 10 the following correlations have been suggested:

12 | $$ 13 | Nu = 0.22 \left( \frac{Pr}{0.2 + Pr} Ra \right)^{0.28} \left( \frac{H}{L} \right)^{-1/4}, \: \: \left( 2 \leq H/L \leq 10, \: Pr \leq 10^5, \: 10^3 \leq Ra \: \leq 10^{10} \right) 14 | $$ 15 | $$ 16 | Nu = 0.18 \left( \frac{Pr}{0.2 + Pr} Ra \right)^{0.29}, \: \: \left( 1 \leq H/L \leq 2, \: 10^{-3} \leq Pr \leq 10^5, \: 10^3 \leq \frac{Ra Pr}{0.2 + Pr} \right) 17 | $$ 18 |

For larger aspect ratios up to 40 the following correlations are recommended:

19 | $$ 20 | Nu = 0.42 Ra^{1/4} Pr^{0.012} \left( \frac{H}{L} \right)^{-0.3}, \: \: \left( 10 \leq H/L \leq 40, \: 1 \leq Pr \leq 20000, \: 10^4 \leq Ra \leq 10^7 \right) 21 | $$ 22 | $$ 23 | Nu = 0.046Ra^{1/3}, \: \: \left( 1 \leq H/L \leq 40, \: 1 \leq Pr \leq 20, \: 10^6 \leq Ra \leq 10^9 \right) 24 | $$ 25 |

Ra is the Rayliegh number and Pr is the Prandtl number. Note that for small Rayliegh numbers, Ra <= 1000, the buoyancy-driven flow is weak and, in the absence of radiation, heat transfer is primarily by conduction -> Nu = 1. All fluid properrties should be evaluated at average of the hot and cold surfaces. The Rayliegh number should be calculated using L, the distance between the hot and cold surfaces, as the characteristic length. Likewise, this should be the characteristic length associated with the computed Nusselt number. 26 |

This block is capable of performing multiple calculations given 1-D arrays of consistent size for the inputs and parameters.

27 | 28 | Vertical Rectangular Cavity Inputs: 29 | 30 | 31 | 32 |
Vertical Rectangular Cavity InputsDescription
RaRayliegh number [nx1]
PrPrandtl number [nx1]
33 |
34 | Vertical Rectangular Cavity Outputs: 35 | 36 | 37 | 38 |
Vertical Rectangular Cavity OutputsDescription
NuAverage Nusselt number [nx1]
ValidityVariable indicating if the correlation restrictions were violated. This value will be 1 if this condition is viloated and 0 otherwise. [nx1]
39 |
40 | Vertical Rectangular Cavity Masked Variables: 41 | 42 | 43 |
Vertical Rectangular Cavity Masked VariablesDescription
AR_MAspect ratio of the rectangular cavity (H/L) where H is the height of L is the distance between the hot and cold walls [nx1]
44 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_MixedConv.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Combined Forced & Natural Convection Library Block 6 |
7 |

Reference for the information in this help file and the presented correlation: Incropera, F.P., and DeWitt, D.P., Fundamentals of Heat and Mass Transfer, John Wiley & Sons, New York, NY, 2002. Print.

8 |

Natural (free) convection is negligible if (Gr/Re^2) << 1 and forced convection is negligible if (Gr/Re^2) is >> 1. However when this condition is not met and (Gr/Re^2) is in the vicinity of 1 free and forced convection both play a significant role in heat transfer. This results in a mixed convection problem.

9 |

This block can be used to approximate the combined forced and natural convection Nusselt number from which the convective heat transfer coefficient can be derived. Three special cases have been extensively studied corresonding to assisted flow (buoyancy force is acting in the same direction as the forced flow), transverse flow (buoyancy force is acting in a direction perpendicular to the forced flow), and opposing flow (buoyancy forced are acting in the opposite direction of the forced flow). In the cases of assisting flow and transfer flow the buoyancy forces are enhancing the rate of heat transfer while opposing flow will decrease it. It is common practice to correlate mixed convection heat transfer for external and internal flows by an expression of the form

10 | $$ 11 | Nu = \left( Nu_{F}^n \pm Nu_{N}^n \right)^{1/n} 12 | $$ 13 |

where

14 | $$ 15 | Nu = mixed \: convection \: Nusselt \: number 16 | $$ 17 | $$ 18 | Nu_{F} = forced \: convection \: Nusselt \: number 19 | $$ 20 | $$ 21 | Nu_{N} = natural \: convection \: Nusselt \: number 22 | $$ 23 | $$ 24 | n = correlation \: exponent 25 | $$ 26 |

The forced and natural convection Nusselts numbers are determined from existing correlations for pure forced and free convection. The sign on the right side of the equation is '+' when the flow is assisting or transverse and '-' when the flow is opposing. The correlation exponent, n, is typically a value between 3 and 4. Most commonly a value around 3 is used however other values are better suited in different scenarios. For example, 3.5 and 4 are typically recommended for used with transverse flow involving a horizontal plate and cylinders or spheres respectively. The mixed convection heat transfer coefficient be calculated using the Nusselt number.

27 | $$ 28 | h = \frac{Nu k}{L} 29 | $$ 30 | where 31 | $$ 32 | h = mixed \: convection \: heat \: transfer \: coefficient 33 | $$ 34 | $$ 35 | k = local \: thermal \: conductivity \: of \: the \: convective \: fluid 36 | $$ 37 | $$ 38 | L = characteristic \: length 39 | $$ 40 |

The correlation used by this block should be viewed as a first approximation and any serious treatment should be accompanied by an examination of the available literature. 41 |

This block accepts inputs of various dimensions as long as all inputs are consistent in dimensions.

42 | Combined Forced & Natural Convection Inputs: 43 | 44 | 45 | 46 |
Combined Forced & Natural Convection InputsDescription
NuFForced convection Nusselt number (-) [nxm]
NuNNatural convection Nusselt number (-) [nxm]
47 |
48 | Combined Forced & Natural Convection Outputs: 49 | 50 | 51 |
Combined Forced & Natural Convection OutputsDescription
NuMixed convection Nusselt number (-) [nxm]
52 |
53 | Combined Forced & Natural Convection Mask Variables: 54 | 55 | 56 | 57 |
Combined Forced & Natural Convection Mask VariablesDescription
dir_MRelative direction of natural and forced flows (checked - assisted or transverse, unchecked - opposed)
n_MCorrelation exponent [1x1]
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_Gnielinski.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Gnielinski's Correlation Library Block 6 |
7 |

Reference for the information in this help file: Incropera, F.P., and DeWitt, D.P., Fundamentals of Heat and Mass Transfer, John Wiley & Sons, New York, NY, 2002. Print.

8 |

This block approximates the Nusselt number of a fully developed turbulent internal flow using Gnielinski's correlation.

9 | $$ 10 | Nu = \frac{(f/8)(Re-1000)Pr}{1+12.7(f/8)^{1/2}(Pr^{2/3}-1)} 11 | $$ 12 |

This block provides the option to consider a perfectly smooth or a rough surface. The user is cautioned that Gnielinski's correlation is valid for smooth tubes and so it may become less accurate as surface roughenss increases. Infact it should provide a good first approximation for friction factors (f) that are less than ~4 times it's corresponding smooth surface value. When roughnees increases to the point that f is 4 times larger than the smooth value then additional increases in f will not impact the heat transfer coefficient and thus Nu as well. This result is taken from: 13 |

R. H. Norris, A. E. Bergles, and R. L. Webb, Eds., Augmentation of Convective Heat and Mass Transfer, ASME. New York. 1970.

14 |

As a result, the friction factor in this block is restricted to being less than or equal to 4 times the value of the smooth wall friction factor. Surface roughness is accounted for using the Colebrook correlation. The Colebrook correlation is solved using an iterative technique and so a convergence variable (conv) is output when this option is active so the it can be monitored. This correlaiton is valid for the following conditions: 15 | $$ 16 | 0.5 \leq Pr \leq 2000, \: 3000 \leq Re \leq 5000000 17 | $$ 18 |

If any of these conditions are not met then the Validty output will be 1, otherwise it will be 0. In addition to these conditions one should keep in mind that this approximation is only valid for fully developed turbulent flow which is generally applicable when the flow is downstream of the inlet by a distance that is greater than or equal to 10 times the diamter of the tube (L/D >= 10). The correlation is applicable for both isothermal and isoflux applications. The properties in the correlation should be evaluated at the bulk fluid temperature. If a large temperature difference is present then additional considerations must be given. Available options are reviewed by Kakac in: S. Kakac, R.K. Shah, and W. Aung. Eds., Handbook of Single-Phase Convective Heat Transfer, Chapter 18, Wiley-Interscience, Hoboken, NJ. 1987.

Gnielinski's Correlation Inputs: 21 | 22 | 23 | 24 |
Gnielinski's Correlation InputsDescription
ReReynolds number based on the diameter of the tube (hydraulic diameter for non-circular tubes) [nx1]
PrPrandtl number [nx1]
25 |
26 | Gnielinski's Correlation Outputs: 27 | 28 | 29 | 30 | 31 |
Gnielinski's Correlation OutputsDescription
NuLocal Nusselt number [nx1]
ValidityVariable indicating if the result is valid based on the correlation restriction. The value will be 1 if there is a violation an 0 otherwise. [nx1]
convVariable indicating if Colebrooks correlation, used to solve for the friction factor for rough surfaces, converged to a solution. The value will be 1 if it converged and 0 if it did not. A value of 0 indicates that the result is not valid. [nx1]
32 |
33 | Gnielinski's Correlation Parameters Mask Variables: 34 | 35 | 36 | 37 |
Gnielinski's Correlation Parameters Mask VariablesDescription
SmoothOrRough_MVariable indication the option to consider a perfectly smooth wall or to consider a rough wall
eoD_MRatio of surface roughness to pipe diamter (hydraulic diamter is not circular) - e/D [nx1]
-------------------------------------------------------------------------------- /Trunk/TSAT_Library/TSAT_Support/Convection_TSAT_FCVertIncPlateCyl.html: -------------------------------------------------------------------------------- 1 | 4 | 5 | TSAT: Vertical Plate/Cylinder or Inclined Plate Free Convection Library Block 6 |
7 |

Reference for the information in this help file: Incropera, F.P., and DeWitt, D.P., Fundamentals of Heat and Mass Transfer, John Wiley & Sons, New York, NY, 2002. Print.

8 |

This block estimates the average Nusselt number of free convecting flow over an isothermal vertical or inclined flat plate, or an isothermal vertical cylinder. For inclined plates the correlation is only valid for the top surface of cold plates and bottom surface of hot plates. The bottom surface of cold plates and top surface of hot plates experience a complex 3-D flow that typically enhances heat transfer but is not able to be characterized by a generalized correlation. The following correlation is recommended for the entire range of Raleigh numbers (Ra):

9 | $$ 10 | Nu = \left[ 0.825 + \frac{0.387Ra^{1/6}}{\left[ 1 + \left( 0.492/Pr \right)^{9/16} \right]^{8/27}} \right]^{2} 11 | $$ 12 |

The next correlation has slightly better accuracy for laminar flow 13 | $$ 14 | Nu = 0.68 + \frac{0.670Ra^{1/4}}{\left[ 1 + \left( 0.492/Pr \right)^{9/16} \right]^{4/9}} 15 | $$ 16 |

Subject to restriction:

17 | $$ 18 | Ra \leq 10^9 \: (laminar flow) 19 | $$ 20 |

These equations are valid for vertical plates and vertical cylinders. For cylinders the following restriction should be enforced:

21 | $$ 22 | \frac{D}{L} \leq \frac{35}{Gr^{1/4}} 23 | $$ 24 |

where D/L is the ratio of the cylinders diameter to it's length, and Gr is the Grashoff number (Ra/Pr). As can be seen it is better suited for longer cylinders with a smaller diameter. These equations can be used to approximate the average Nusselt number for inclined plates but only for one surface as mentioned before. In such a case the gravity, g, is replace by g*cos(Angle) where Angle is the inclination angle relative to the vertical axis in which gravity is acting. This adjustment makes the correlation good for angles between 0 and 60 degrees. 25 | 26 |

Note that these empirical correlation come from the following reference:

27 |

S. W. Churchill, and H. H. S. Chu, Int. J. Heat Mass Transfer, 18, 1323, 1975.

28 |

The characteristic length in the Rayliegh number should be the length of the plate or cylinder. Note that all fluid properties should be evaluated at film temperature (average of the bulk fluid and surface temperatures). This block is capable of performing multiple calculations given 1-D arrays of consistent size for the inputs and applicable parameters.

29 | 30 | Vertical Plate/Cylinder or Inclined Plate Free Convection Inputs: 31 | 32 | 33 | 34 |
Vertical Plate/Cylinder or Inclined Plate Free Convection InputsDescription
RaRayliegh number [nx1]
PrPrandtl number [nx1]
35 |
36 | Vertical Plate/Cylinder or Inclined Plate Free Convection Outputs: 37 | 38 | 39 | 40 |
Vertical Plate/Cylinder or Inclined Plate Free Convection OutputsDescription
NuAverage Nusselt number [nx1]
ValidityVariable indicating if the any of the applicable restriction were violated. This value will be 1 if this condition is viloated and 0 otherwise. [nx1]
41 |
42 | Vertical Plate/Cylinder or Inclined Plate Free Convection Mask Variables: 43 | 44 | 45 | 46 | 47 | 48 |
Vertical Plate/Cylinder or Inclined Plate Free Convection Mask VariablesDescription
Corr_MVariable indicating which correlation to use
PlateOrCyl_MVariable indicating if a plate or a cylinder is being considered
InclineOrVert_MVariable indicating if the plate is vertical or inclined (only applicable for plates)
DiamOverLen_MThe diameter to length ratio (D/L) of the cylinder (only applicable to cylinders) [nx1]
49 |
-------------------------------------------------------------------------------- /Trunk/TSAT_Tools/Tools/lineOffset.m: -------------------------------------------------------------------------------- 1 | function [ X,Y ] = lineOffset( x,y,t,offsetDir ) 2 | %lineOffset summary 3 | % This function offsets a line define by numeric data (x,y) by at given 4 | % thickness t(x). The thickness can be a function of x. The line can be 5 | % offset above, below, or int both directions. 6 | % 7 | %Inputs: 8 | % x - x data points [1 x n] 9 | % y - y data points [1 x n] 10 | % t - thickness (distance of the offset) [1 x n] 11 | % offsetDir - offset direction option 12 | % 'above' - offset the line above it's current position 13 | % 'below' - offset the line below it's currnet position 14 | % 'both' - offset in both direction with the current position being the center 15 | % 16 | %Outputs: 17 | % X - x data points of the offset line. [1 x n] if the 'above' or 'below' 18 | % offsetDir option is chosen and [2 x n] if the 'both' option is 19 | % chosen. 20 | % Y - y data points of the offset line. [1 x n] if the 'above' or 'below' 21 | % offsetDir option is chosen and [2 x n] if the 'both' option is 22 | % chosen. 23 | 24 | %Fit the data to a cubic spline 25 | c = CubicSpline(x,y,[]); 26 | 27 | %Find the slope at each point (derivative) 28 | m0 = CubicSplineInterp(x,c,x,1); 29 | 30 | %Find the constants for the linear lines normal to line at each data point 31 | m1 = -1./m0; 32 | b1 = y - m1'.*x; 33 | 34 | %Offset the line defined by x and y 35 | ang = abs(atan(m1)); 36 | 37 | if strcmp(offsetDir,'below') 38 | for i = 1:length(ang) 39 | if abs(ang(i) - pi/2) < 10^-8 40 | X(i) = x(i); 41 | Y(i) = y(i) - t(i); 42 | else 43 | dx(i) = t(i)*cos(ang(i)); 44 | if m1(i) > 0 45 | X(i) = x(i) - dx(i); 46 | else 47 | X(i) = x(i) + dx(i); 48 | end 49 | Y(i) = m1(i)*X(i) + b1(i); 50 | end 51 | end 52 | elseif strcmp(offsetDir,'above') 53 | for i = 1:length(ang) 54 | if abs(ang(i) - pi/2) < 10^-8 55 | X(i) = x(i); 56 | Y(i) = y(i) + t(i); 57 | else 58 | dx(i) = t(i)*cos(ang(i)); 59 | if m1(i) > 0 60 | X(i) = x(i) + dx(i); 61 | else 62 | X(i) = x(i) - dx(i); 63 | end 64 | Y(i) = m1(i)*X(i) + b1(i); 65 | end 66 | end 67 | elseif strcmp(offsetDir,'both') 68 | for i = 1:length(ang) 69 | if abs(ang(i) - pi/2) < 10^-8 70 | X1(i) = x(i); 71 | Y1(i) = y(i) - t(i)/2; 72 | X2(i) = x(i); 73 | Y2(i) = y(i) + t(i)/2; 74 | else 75 | dx(i) = t(i)*cos(ang(i)); 76 | if m1(i) > 0 77 | X1(i) = x(i) - dx(i)/2; 78 | X2(i) = x(i) + dx(i)/2; 79 | else 80 | X1(i) = x(i) + dx(i)/2; 81 | X2(i) = x(i) - dx(i)/2; 82 | end 83 | Y1(i) = m1(i)*X1(i) + b1(i); 84 | Y2(i) = m1(i)*X2(i) + b1(i); 85 | end 86 | end 87 | if Y2(1) > Y1(1) 88 | X = [X2; X1]; 89 | Y = [Y2; Y1]; 90 | else 91 | X = [X1; X2]; 92 | Y = [Y1; Y2]; 93 | end 94 | else 95 | X = []; 96 | Y = []; 97 | disp('Error in lineOffset.m: offsetDir must be set to ''above'', ''below'', or ''both''') 98 | end 99 | 100 | %Plot 101 | figure() 102 | plot(x,y,'xk') 103 | hold on 104 | axis('equal') 105 | xlabel('x') 106 | ylabel('y') 107 | xs = linspace(x(1),x(end),20*length(x)); 108 | ys = CubicSplineInterp(x,c,xs,0); 109 | plot(xs,ys,'-b') 110 | if strcmp(offsetDir,'above') || strcmp(offsetDir,'below') 111 | plot(X,Y,'sk') 112 | a = CubicSpline(X,Y,[]); 113 | Xs = linspace(X(1),X(end),20*length(X)); 114 | Ys = CubicSplineInterp(X,a,Xs,0); 115 | plot(Xs,Ys,'-r') 116 | legend('original data','spline through original data','offset data','offset spline','Location','best') 117 | elseif offsetDir == 'both' 118 | plot(X1,Y1,'sk') 119 | d1 = CubicSpline(X1,Y1,[]); 120 | X1s = linspace(X1(1),X1(end),20*length(X1)); 121 | Y1s = CubicSplineInterp(X1,d1,X1s,0); 122 | plot(X1s,Y1s,'-r') 123 | plot(X2,Y2,'vk') 124 | d2 = CubicSpline(X2,Y2,[]); 125 | X2s = linspace(X2(1),X2(end),20*length(X2)); 126 | Y2s = CubicSplineInterp(X2,d2,X2s,0); 127 | plot(X2s,Y2s,'-m') 128 | legend('original data','spline through original data','offset data 1','offset spline 1','offset data 2','offset spline 2','Location','best') 129 | end 130 | 131 | end 132 | 133 | --------------------------------------------------------------------------------