Skip to content
Package for non-stationary heat transfer simulation with AceFEM framework
Mathematica
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Elements
HeatTrans
Images
Tests
.gitignore
.project
Build.wls
CHANGELOG.md
CONTRIBUTING.md
LICENSE
README.md
docbuild.xml

README.md

HeatTrans

releases SemVer 2.0.0

HeatTrans is a Mathematica package for non-stationary heat transfer simulation in 2D. It is using AceFEM framework for finite element method capabilities.

logo

Installation

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"]

Usage

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
]

plot3D

To access the documentation, open the notebook interface help viewer and search for HeatTrans.

Contributing and feedback

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.

License

MIT

You can’t perform that action at this time.