TMMverter usage guidelines
The TMMverter extension is largely unchanged since the previous release, but the usage guidelines have now been updated and included here in the User Manual rather than being part of the release notes.
Extensive testing of the TMMverter extension showed that there are too many variations in syntax, often undocumented, to be able to process them all correctly. As a result, the conversion sometimes chokes on syntax that could be interpreted in multiple ways unless additional knowledge of the model data is taken into account. In general, the bulk of the model is converted correctly, so it has been decided to release TMMverter to the public with some guidelines to step-wise improve the conversion.
The TMM conversion process can be streamlined by following a few simple guidelines.
The user is advised to start with a stripped version of the model, which in general converts without problems, and then gradually add back in the more complex parts that were removed and try to convert again.
Notes specific to SINDA to ESATAN conversion:
From the HEADER OPTIONS DATA block only the TITLE line is used. The other lines are commented out by TMMverter. Should there be an issue with these lines then comment them out yourself before restarting the conversion. These options are not used in ESATAN anyway, and handling them correctly may introduce unnecessary complexity.
TMMverter tries to process the HEADER USER DATA blocks “as is” but sometimes fails to do so correctly if the converter is unable to detect and interpret any of these implicitly numbered variables. In case of problems modify the model such that explicit variables are used via the HEADER REGISTER DATA block.
Although most unit conversions are done automatically, the temperature conversion has been switched off for now. Our testing has shown that it does not fully work correctly as sometimes non-temperature quantities are converted, and these are difficult to detect and correct. This is work in progress on our side.
In those cases the user is advised to convert the model to SI units using the standard Thermal Desktop features if possible.
Another approach could be to replace all initial temperature values by a variable defined in the HEADER REGISTER DATA block. This will result in this variable occurring in the ESATAN $LOCALS block where it can then be corrected manually.
Finally equations and interpolations using temperature will need to be checked and corrected where appropriate.
A TASVERTER_FLAGS option called MULTIPLIERS has been added. Setting this option results in adding a relevent multiplier to all assignment statements where capacitances, conductors and fluxes are assigned. The values for these multipliers can then be set in an include file that is added to each submodel. In most cases this option is not needed because TMMverter handles the conversion correctly. The option may be useful in rare cases for non-SI unit models with mixed units for the same quantity where the normal conversion does not produce correct results. The user can then manually modify the scaling values to obtain correct values.
Variables names are kept unchanged where possible. Be aware of variable names having a specific meaning in the target tool, for example KL, QA, QE variables have a special meaning in ESATAN. If these are used in the source SINDA model then changing their names, for example, by prepending a Z up front will ease the conversion.
Copy the model and then:
Remove radiative conductors and environmental heat loads that were generated with the GMM model, as these would just slow down the conversion simply because there are so many of them. If this is difficult then perhaps remove the major part of them to speed up the conversion. Once the final conversion is successful the removed items can be added back into the input model which can then re-converted in full.
Remove user logic in subroutines. These very often contain code and features that are not really needed for the model or that need to be represented in some other way in the target tool. Often such code is not written cleanly in a way that the converter can process and thus cause difficulty in converting.
Try to convert the model.
If unsuccessful try to remove more from the model data. Often a failure to convert is caused by the use of a syntax dialect which is not known to the converter. By trying to detect and correct the syntax the problem might be solved. In general an error message is produced which indicates the location and type of error. The user manual of the original tool illustrates the “official” syntax and thus can be used as guideline to determine what needs to be corrected.
When conversion is successful then add back in the next part of the data that was removed previously and try to convert again, see previous step.
Often a number of these cycles are needed to fully convert the model.
Note that a small number of subroutines are converted from one tool to the other, sometimes making use of an additional set of subroutines that acts as a translation layer. This set of subroutines is created automatically by TASverter in the current working directory and is meant to be included in the final model file for the target tool.
Make sure to validate the converted model, for instance by running both the original and the converted model for the same setup and comparing the results. Naturally there will be differences, however, the overall behaviour should be similar. To reduce such differences one could consider to reduce the time step and even enforce a fixed time step in order to make the simulations more comparable.
If you have any feedback or questions then please do not hesitate to contact us at tasverter@thermal.esa.int