The second example of this tutorial allows the development of a module that calculates a numerical diffusion of heat following Poisson's equation in a parallelepiped. The module must initialize all cells with a constant temperature. This temperature is read from the dataset which also provides boundary temperatures on the surfaces XMIN and ZMIN of the mesh. The temperature on the boundary faces is taken into account by initializing the temperature of the nodes located on these faces. Then, the module calculates the diffusion:
The calculation must stop when the largest temperature difference (between times n and n+1) on a cell is less than 0.2. This difference will be stored in a local variable named max_delta_cell_t.
Poisson.axl to declare the variables CellTemperature and NodeTemperature representing the temperatures of the cells and the nodes, respectively.ArcanePoissonObject::m_cell_temperature and ArcanePoissonObject::m_node_temperature in the file Poisson_axl.h Poisson.arc and observe the elements init-temperature and boundary-condition.Poisson.axl (element options)PoissonModule.cc by performing the calculations described in the exercise statementmax_delta_cell_t