MTC files development
Unsorted ideas
- Always redefine all "Geometre" objects you need (at least the boundaries of your domain) after remeshing.
- Always complete "Dependance" (un-modified fields) and "DependanceModifiables" (modified fields) with the list of mtc fields accordingly.
- If you want to get your mesh written in .t and .mtc format (or a spectific field in a .mtc format) as an output of your simulation, use "ModeleSortie" with
TypeFichier= SortieMtc. Then, in "DependanceAEcrire", writeMaillage= MyMeshto get your mesh (orChamp= MyOutputFieldfor a P0/P1/P2field) - For CL conditions, better sort it from CL with stronger dependances (the "degree") to CL with weaker dependances (can be cause of bugs if not done)
- Always put spaces between words and braces "}".
- Better use "ISRheologieSinusoide" instead of "ISMelange2Champs" for P1 mixing laws (the second model had some issues: to be confirmed).
- To get the current mesh from an output modele with a higher precision, add the option " { Precision= 9 } ". Also better use " { Format= scientific } " as a format for the coodinates of mesh points.
Debugging
- If there is a problem with unpaired braces, Cimlib won't tell you this cleary. It will tell you instead there's an undefined model (the first one to be called after the brace issue)
- If a case does not run properly on the Cluster in parallel for an unknown reason, try running it on only one nodes or on your local machine
- CL with inflow conditions can be sources of errors. If a case does not run properly, try to identifiy them. While trying to fixing it by, for exemple, imposing a manufactured velocity, be careful to impose a divergence free velocity.
- Sometimes, Cimlib won't tell you if you used a vector instead of a scalar inside a solver, or a P0 instead of a P1, etc. So be careful :)
- While imposing a Dirichlet condition, it can be that there is a tiny error on the imposed value (1e-90 instead of 0), that might cause trouble if comparing this value afterwords with an arithmetic model (for exemple AAA >? Zero)
- If a point cause trouble in parallel, try to identify if it lays on a frontier of two mesh partition by using " { EcrirePartition = 1 } " as an argument of your output model
- If a mesh with complex boundaries extracted from an output model of a former Cimlib computation reveals troubles, check for the precision and format options (see above). This can for example be cause of "dotted" identification fields (like unwanted 0 on the border that should be identified only with 1)
For Windows only
- To keep track of your simulation, when using .bat files to launch simulations, use redactionLogTXT.exe (should be findable at
X:\CFL\_Outils). This will create a "log.txt" file that will save what is plotted on your shell. To do so, write on your .bat file:cimlib_CFD_driver.exe Principale.mtc | redactionLogTXT log.txtHere, "cimlib_CFD_driver.exe" is your Cimlib executable (enter a path if it is not located in the same folder as the .bat file), and "Principale.mtc" is the main .mtc file where every .mtc files are defined.