General Notes & Recommendations
- TCFD input is the surface geometry and physical settings being read from TCFD Configuration File (*.tcfd). The configuration file can be either created manually (e.g. modifying existing tutorial), or configuration file can be even created in special graphic interface in ParaView called TCFDSource.
- Any number of model components is allowed.
- Each component has to be waterproof, typically inlet + wall + outlet.
- Watch out the model dimensions, they are critical.
- STL surface model files has to be in ASCII format.
- Ideally, each component surface STLs should fit vertex-to-vertex. Not necessary, but safest.
- All the interfaces between two components should overlap, or at least to fit each other very well.
- Mesh size – the most important mesh parameter of each component is 0_backgroundMeshSize, which is a basic mesh block (cell) to be refined. Three dimensions x y z in meters (scaleFactor parameter may change the dimension).
- If command line used – the CFD Processor has several options. Custom case name. Writing the case. Writing the mesh. Run the simulation. Write the report. See all the options: $ CFDProcessor -help .
- Log files – are located in ./logRun/* .
- It is not suitable to have â€œTrailing edge fixed on outletâ€ of the Impeller for any CFD simulation. It is recommended, when simulate, to extend the hub and shroud a little bit.
- Compressibility: pump and waterTurbine are always incompressible; compressor and turbine are always compressible; fan can be both compressible and incompressible.
- rotatingPatches: If rotatingRegion is false. RotatingPatches (if any) have rotatingWallVelocity (symmetric rotation â€“ no MRF).
- Rotation direction has signum minus for clockwise direction (right hand rule).
- Cavitation risk is evaluated by function object cavitation. Saturated vapour pressure is evaluated using Antoine equation (see wikipedia), coefficients are taken from NIST. Relevant entries are referenceTemperature and referencePressure. Field cavitation is saved alongside other fields, which has values either 1 (cells with pressure below saturated vapour pressure) or 0 (other cells). Statistics such as number of cavitating cells, their volume and percentage of cavitating volume from whole computational domain are printed each time step.
- Convergence Auto Stop – if convergenceCheck is true – each simulation point run is skipped – if the total machine efficiency change is lower than 0.1% over the last X iterations. X is equal to averagingWindow value.
Circumferential and Meridional angle – tangent is chosen in such a way that axis, radial and tangent (in this order) form a right-handed coordinate system. U is relative velocity, Um is projection of U into meridional plane, Ur is projection of U into radial plane, Ut is projection of U into tangential plane. Meridional angle is angle between axis and Um. It is positive, when Um points away from axis and negative when Um points toward axis. Axial circumferential angle , is angle between tangent and Ut. Radial circumferential angle is angle between tangent and Ur. It is positive when Ur points out (of the cylinder in the picture), it is negative when Ur points in.
tangent and Ur. It is positive when Ur points out (of the cylinder in the picture), it is negative when Ur points in.
18. Cylindrical background mesh can be used. Three radii, two gradients and warping.
19. CFD Processor is capable of scheduling MPI jobs to remote machines. This can be used with OpenMPI in Linux. The keyword â€œhostsâ€ in the configuration file is followed by a list of nodes (hostnames or IP addresses). Password-less SSH access to those machines must be possible and the OpenMPI package, as well as the calculation directory itself, must be accessible at the same filesystem path, e. g. through the use of a disk shared among the machines. The parameter â€œbindToCoreâ€ is ignored when â€œhostsâ€ is used. *-clearance – non-mandatory parameter which can be used to improve robustness of meshing at clearance between bladeCap and shroud *-toInterfaceDistance – non-mandatory parameter which can be used to improve robustness of meshing at small gaps between particular part of blade and neighbouring geometry
20. Currently, there are two possible transport models: sutherland (default) and constant. If â€œsutherlandâ€ is used, then is it possible to set also the parameters of the Sutherland model: As (default 1.512e-06) and Ts (default 120). If â€œconstantâ€ is used, then the parameter Pr (default 0.7 for air, 7 for water) are available.
21. There are three possible turbulence models: kOmegaSST (default), kEpsilon and laminar. The names and default values of the optional parameters of the models are: kOmegaSST-alphaK1 (0.85), kOmegaSST-alphaK2 (1.00), kOmegaSST-alphaOmega1 (0.5) kOmegaSST-alphaOmega2 (0.856), kOmegaSST-beta1 (0.075), kOmegaSST-beta2 (0.0828), kOmegaSST-betaStar (0.09), kOmegaSST-gamma1 (0.5555556), kOmegaSST-gamma2 (0.44), kOmegaSST-a1 (0.31), kOmegaSST-b1 (1.00), kOmegaSST-c1 (10.0), kOmegaSST-F3 (false); kEpsilon-Cmu (0.09), kEpsilon-C1 (1.44), kEpsilon-C2 (1.92), kEpsilon-C3 (-0.33), kEpsilon-sigmak (1.00), kEpsilon-sigmaEps (1.30).
22. CFD Processor allows a straighforward extension of the built-in workflow by user-defined functions. These take form of a Python scripts and can be executed in several places along the workflow. The keyword for setting used defined functions is userDefinedFunctions and has the following syntax: userDefinedFunctions script locations [ script locations â€¦ ] The word script is a path (no spaces!) to the Python script to be executed. During write-out of the case is will be written to the subdirectory â€œscriptsâ€ of the case directory and executed from that place. The word locations is a comma-separated list (no spaces!) of execution points during the workflow, when the script is to be executed. The possible execution points are: afterWrite, beforeMeshing, afterMeshing, beforeCalculation, afterCalculation, beforeEverySpeedline, afterEverySpeedline, beforeReport, afterReport. The script can use common Python functions and also two special predefined functions SetEntry and WriteFile. E.g. SetEntry(â€˜system/fvSolutionâ€™, â€˜SIMPLE/nNonOrthogonalCorrectorsâ€™, â€˜5â€™) WriteFile(â€˜system/fvSolutionâ€™) Finally, the special predefined variable CaseDirectory contains full path to the directory with the case.