Skip to content

Commit

Permalink
fixed limits on aluminum heat transfer to exceed 500
Browse files Browse the repository at this point in the history
  • Loading branch information
Anwar8 committed May 4, 2022
1 parent 36e5d83 commit 3bc0f3b
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 11 deletions.
31 changes: 25 additions & 6 deletions SRC/HeatTransfer/HeatTransferMaterial/AluminumEC9.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,19 @@
** ****************************************************************** */

//
// Written by Yaqiang Jiang (y.jiang@ed.ac.uk)
// Template written by Yaqiang Jiang (y.jiang@ed.ac.uk)
//
// AluminumEC9 written by Mohamed Anwar Orabi (maorabi@polyu.edu.hk)
//


//
//
// The properties of aluminum are only known until about 500 C, beyond which
// the Eurocode does not provide details. This is often reached in fire situations
// and as such we had to go beyond the codified properties. In general, when
// tempearture reaches above 500, the properties are taken as if they were at 500.
//
//

#include <AluminumEC9.h>
Expand Down Expand Up @@ -109,8 +121,6 @@ AluminumEC9::getSpecificHeat(void)
} else if ((20.0 <= trial_temp) && (trial_temp < 500.0)) {
cp = trial_temp * 0.41 + 903;
} else {
opserr << "AluminumEC9::getSpecificHeat() - trial temperature "
<< trial_temp << " > 500 C, which is the temperature for which aluminum properties are known.\n";
cp = 1108.0;
}

Expand All @@ -124,14 +134,19 @@ AluminumEC9::getEnthalpy()
// * The enthalpy data here is obtained by integrating the spesific heat over
// * the temperature range [0,500] given in EN 1999-1-2.
// * The analytical expresion is easily calcualted because the heat capacity is linear.
// * because a limit of 500 is very small, enthalpy is returned assuming a max temp of 500
if ((trial_temp >= 0.0) && (trial_temp <= 500))
{
enthalpy = 0.205 * trial_temp * trial_temp + 903 * trial_temp;
}
else
else if ((trial_temp > 500.0) && (trial_temp < 1200.0))
{
enthalpy = 0.205 * 500.0 * 500.0 + 903.0 * 500.0;
}
else
{
opserr << "AluminumEC9::getEnthalpy(double temp) - nodal temperature "
<< trial_temp << " out of bounds of [0, 500]\n";
<< trial_temp << " out of bounds of [0, 1200]\n";
exit(-1);
}

Expand All @@ -155,10 +170,14 @@ AluminumEC9::getEnthalpy(double temp)
{
enthp = 0.205 * nod_temp * nod_temp + 903 * nod_temp;
}
else if ((nod_temp > 500.0) && (nod_temp < 1200.0))
{
enthp = 0.205 * 500.0 * 500.0 + 903.0 * 500.0;
}
else
{
opserr << "AluminumEC9::getEnthalpy() - nodal temperature "
<< nod_temp << " out of bounds of [0, 500]\n";
<< nod_temp << " out of bounds of [0, 1200]\n";
exit(-1);
}
return enthp;
Expand Down
6 changes: 4 additions & 2 deletions SRC/OPS_Globals.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,10 @@


#define OPS_VERSION "3.0.0"
#define OPSF_VERSION "Anwar-RELEASE 3.2.7"
#define OPS_LASTUPDATED "24/02/2022"
#define OPSF_VERSION "Anwar-RELEASE 3.2.8"
#define OPS_LASTUPDATED "4/05/2022"
// Calcareous or Siliceous
#define CDP_AGGREGATE "Calcareous"

#ifndef _WIN64
#define WIN_ARCH "32-Bit"
Expand Down
18 changes: 16 additions & 2 deletions SRC/material/nD/PlasticDamageConcretePlaneStressThermal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1116,8 +1116,22 @@ PlasticDamageConcretePlaneStressThermal::setThermalTangentAndElongation(double &
//Ets = 0;
}

int matType =1; //Siliceous aggregates
//int matType =2;//Calcareous aggregates
int matType;
if (CDP_AGGREGATE == "Siliceous")
{
matType = 1;
}
else if (CDP_AGGREGATE == "Calcareous")
{
matType = 2;
}
else
{
matType = 1;
opserr << "WARNING: incorrect aggregate type defined for CDP in OPS_Globals.h\n Using Siliceous aggregate in stead. \n";
}
//int matType =1; //Siliceous aggregates
//int matType = 2;Calcareous aggregates

// compression strength, at elevated temperature
// strain at compression strength, at elevated temperature
Expand Down
4 changes: 4 additions & 0 deletions SRC/material/uniaxial/ElasticMaterialThermal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,10 @@ OPS_ElasticMaterialThermal(void)
else if ((strcmp(typeChar, "-ConcreteSoft") == 0) || (strcmp(typeChar, "-CSoft") == 0) || (strcmp(typeChar, "-cSoft") == 0)) {
softindex = 2;
}
else if ((strcmp(typeChar, "-nosoft") == 0) || (strcmp(typeChar, "-NoSoft") == 0))
{
softindex = 3;
}
}

dData2[0] = 0.0; dData2[1] = 0.0;
Expand Down
3 changes: 2 additions & 1 deletion SRC/tcl/tclMain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,8 @@ g3TclMain(int argc, char **argv, Tcl_AppInitProc * appInitProc, int rank, int np
fprintf(stderr," All Rights Reserved\n");
fprintf(stderr," (Copyright and Disclaimer @ http://www.berkeley.edu/OpenSees/copyright.html)\n\n");
fprintf(stderr, " OpenSEES for Fire\n");
fprintf(stderr, " Version: %s, Last updated on %s\n\n\n", OPSF_VERSION, OPS_LASTUPDATED);
fprintf(stderr, " Version: %s, Last updated on %s\n", OPSF_VERSION, OPS_LASTUPDATED);
fprintf(stderr, " CDP concrete using %s aggregate properties\n\n\n", CDP_AGGREGATE);
}

#ifdef _PARALLEL_INTERPRETERS
Expand Down
2 changes: 2 additions & 0 deletions Win64/proj/openSees/OpenSees.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,8 @@
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<Optimization>Full</Optimization>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
Expand Down

0 comments on commit 3bc0f3b

Please sign in to comment.