HeatTrans is a Mathematica package for non-stationary heat transfer simulation in 2D. It is using AceFEM framework for finite element method capabilities.
The following description is for people who just want to use the package functionality and are not interested in package development.
To use HeatTrans package you need Mathematica version 11.1 or later and AceFEM package, version 6.912 or later (get trial version). Supported operating systems are 64-bit Windows, MacOS and Linux.
HeatTrans package is released in the .paclet
file format, which contains code, documentation and other necessary resources.
Download .paclet
file the latest version from the repository "releases" page
to your computer and install it by evaluating the following command in the Mathematica:
(* This built-in package is usually loaded automatically at kernel startup. *)
Needs["PacletManager`"]
(* Path to .paclet file downloaded from repository "releases" page. *)
PacletInstall["full/path/to/HeatTrans-X.Y.Z.paclet"]
This will permanently install the HeatTrans package to $UserBasePacletsDirectory
.
To update the documentation it may be necessary to restart Mathematica.
Mathematica will always use the latest installed version of package and all installed versions
can be enumerated by evaluating PacletFind["HeatTrans"]
.
You can get more detailed information about the package with PacletInformation["HeatTrans"]
.
All versions can be uninstalled with:
PacletUninstall["HeatTrans"]
After you have installed the package, load it to Mathematica session with Get
.
Then you can, for example, calculate temperature distribution over triangular steel bar after 60 seconds
using the main function HeatTransfer
.
Get["HeatTrans`"]
region = Triangle[{{0,0},{1,1},{2,0}}/100];
endTime = 60;
material = <|"Conductivity" -> 55, "Density" -> 7800, "SpecificHeat" -> 470|>;
(* InterpolatingFunction[...] object is returned. *)
result = HeatTransfer[region, endTime, material]
Plot3D[
result[endTime, x, y],
Element[{x, y}, result["ElementMesh"] ],
ColorFunction -> "TemperatureMap",
AspectRatio -> Automatic,
Boxed -> False,
PlotRange -> All
]
To access the documentation, open the notebook interface help viewer and search for HeatTrans.
The main purpose of HeatTrans package is to test and demonstrate good software development practices using Mathematica and AceFEM framework. Therefore, there is less focus on building more advanced FEM modelling capabilities.
Please use this repository issues page to submit bugs or feature ideas. If you find this package useful, feel free to send us feedback by email to github
at c3m.si
.
Pull requests to this repository are welcome.
Guidelines on how to build .paclet
file from the source code can be found in CONTRIBUTING.md file.