Validation against ISO 10211-2017

I’m trying to validate PrePoMax v2.5.0 against ISO 10211-2017. The standard consists of 4 test cases (1-4) and to be classified as a three-dimensional steady-state high precision method, the software has to pass all 4.

I’ve run Case 3 with no probs. For Case 4 however, I couldn’t get the results to be within the allowed margin of error (≤ 1% for heat flow and ≤ 0.005 C for temperature). Closest I got was 0.530 W (1.908%) for heat flow and 0.795 C (0.010 C) for temperature.

The pmx file can be downloaded from here. The standard can be viewed here (Case 4 is on p.44).

I’ll continue to try different tweaks and post updates here. It’ll be good to get participation from the community on this project as it would add more confidence to the software.

Cheers!

1 Like

Accuracy is on the solver’s side and you are actually validating CalculiX, so it might be better to ask on its forum: https://calculix.discourse.group/

The setup looks good (after all, 2% accuracy is very close already). I assume that you’ve tried further refining the mesh. You could use hex elements here since the geometry is very simple, but you would have to split it so that all subvolumes have 5 or 6 faces with 3 or 4 edges each.

Ideally, you should avoid using a tie constraint and just compound both parts to get a continuous mesh.

1 Like

Compounding the whole thing makes it difficult to assign materials later on (there’s two materials). But getting past that through Region type > Part name, I get the following warning before running the analysis:

And ignoring that, I get the following error:

I guess that the previously meshed individual parts remained in the FE Model tab. And you should disable the option to merge compound parts into a single part. Then you will be able to assign materials normally.

And here’s your model with a hex mesh (had to partition it first):

Case 4 hex.pmx (4.9 MB)

Of course, you can try refining it further. It should be lighter than the model meshed with tetras, though.

I’ve just noticed that in COMSOL, they select all front surfaces (including all surfaces of the bar) for the “Internal” load, even though the arrows in the ISO document are misleadingly suggesting what you selected.


(Thermal Bridges in Building Construction — 3D Iron Bar Through Insulation Layer)

With this corrected selection, I get:

Case 4 hex 2.pmx (5.2 MB)

1 Like

Thanks @FEAnalyst. Yes, I just looked at the documents for HEAT3 and they assumed that only the cut off planes of the insulation layer are adiabatic – suggesting that all internal surface of the iron bar have a load. So I’ve now changed that while keeping the same merge compound + tie settings and got 0.543 W (0.527%) and 0.800 C (0.005 C), which complies with the standard. The standard is indeed confusing.

I prefer to work with merge compound + ties as it makes it easier to assign materials. I’ve also passed Case 3 with the same settings, which is much more complex.

1 Like

In hindsight, compounding the entire model then unchecking merge compound means I don’t have to search for ties and swap slave/master, which would also save time. So I might adopt that workflow in the future

Yes, both workflows are valid, but it’s good to avoid tie constraints if possible (they may e.g. introduce artificial stress concentrations and interfere with other constraints).

Thus, I use compounding with the default settings in most cases (it may just not work well for shells and some assemblies without good alignment).

1 Like

I’ve now done all four cases and the results fall within the permitted margin of error. So it can now be said that PrePoMax/CalculiX is validated against ISO 10211-2017. Putting the results here so all the details are publicly available (the pmx files for all cases can be downloaded from here).

Case 1

Results for each point were obtained through linear interpolation (using ParaView)

Case 2

Case 3

Case 4

5 Likes

I apologize for the translation errors. Thank you for carrying out the validation. Great work. The mesh in the models you shared is too fine. I opened the first model. The FEM mesh should be as coarse as possible to demonstrate the maximum error of the results. Proving minimal error and maximum accuracy is unnecessary, because in real engineering work nobody has that much time. Excessive mesh refinement makes it more difficult to identify errors:

Yes, hex elements whenever possible and mesh convergence studies (starting from lower densities) are always recommended: https://wiki.freecad.org/FEM_Geometry_Preparation_and_Meshing#Mesh_convergence_studies

Any chance you could put them in a GitHub repo ?

1 Like

https://arxiv.org/pdf/2010.05207

Simscale’s validation cases also include this standard:

But they use extremely dense tetrahedral meshes:

1 Like

The point isn’t to demonstrate maximum error. It’s to see if the software could get results that fall within the allowed margin of error. This was only possible through a mesh size of 5 mm.

This isn’t ‘real engineering work’. It’s a standard that has to be followed if we were to say that PrePoMax/CalculiX is validated against ISO 10211-2017. Plus when you want to use a software for engineering/academic work, it has to be validated against some standard. COMSOL, HEAT2&3, Mecway, SimScale, QuickField, FEMAP, and WUFI all use ISO 10211.

You should aim for a scientific balance between accuracy and time/resources. Saying “I don’t have time” isn’t good practice, and a lot of engineering catastrophes happened because people were trying to save time/resources

1 Like

A hex mesh should perform better. The easiest case to verify it is the first one.

Btw. your work would be really beneficial for the CalculiX users community if you could post on their forum. A proof that CalculiX is now validated against this standard is something definitely worth sharing on the solver’s website or social media. Perhaps the dev team could make good use of this fact.

Validation according to ISO do not only limit to temperatures.

“C.2 General considerations and requirements for validation of calculation methods”

Case 1 has a singular point due to discretely assigned Dirichlet boundary condition. 20ºC and 0ºC are applied to the same node. There is no way to validate in heat flow requirements unless one assumes some additional considerations.

1 Like

That’s why case 1 is the only one where heat fluxes are not considered/required and only temperatures at points away from this singularity are of interest.

1 Like

I don’t understand SIMSCALE using 1.431.857 Elements for passing temperatures.

ccx reaches the required <0.1ºC with 128 Linear Hex Elements.

EDITED: Just 32 elements in case C3D20 are used.

It seems that Simscale uses such dense meshes for many of its validation cases. It is indeed strange. From what I know, they use Code_Aster internally, but such a mesh looks like an overkill at first glance already.

Unfortunately, Abaqus doesn’t use this standard in its documentation, but QuickField does: Thermal bridges in building construction. Test case A.1 validation --QuickField FEA Software

Their mesh is based on automatic refinement: