CalculiX入門
Theory and Physics
(Theory and Physics Section)
Numerical Methods and Implementation
Details of Numerical Methods
Specifically, what algorithm is used to solve the CalculiX introduction?
I will explain the key points of numerical methods and implementation for the CalculiX introduction.
I see. So if you have the numerical methods and implementation for the introduction down, you're basically okay to start?
Compilation and Build
I've heard of "compilation and build," but I might not fully understand it...
So, cutting corners during the build from source stage will come back to bite you later. I'll keep that in mind!
Input File Structure
Are there any points to note when transferring data between different software?
Understanding the structure of case files and key parameter settings is the first step in implementation. The format of dictionary files (dict) and command files is specific to each software, and editing from official tutorial templates is efficient.
Script Automation
I've heard of "script automation," but I might not fully understand it...
Automating parameter studies with Python or Bash scripts is key to improving productivity. Consider utilizing wrapper tools like PyFoam or cfMesh as well.
Debugging and Development Environment
Memory leak detection and debugging with GDB, Valgrind, and AddressSanitizer are effective. Utilize the remote debugging features of IDEs (VSCode, CLion) to set up an efficient development environment. Introduce unit testing frameworks (Google Test, pytest) to automate regression tests.
Solver Settings and Algorithms
I'd like to know more about what's happening behind the scenes of the calculation!
OpenFOAM Solver Selection Guidelines
What exactly do you mean by solver selection guidelines?
| Solver | Application | Equation System |
|---|---|---|
| simpleFoam | Steady incompressible turbulence | SIMPLE |
| pimpleFoam | Unsteady incompressible | PIMPLE (PISO+SIMPLE) |
| interFoam | Two-phase flow (VOF) | MULES |
| rhoSimpleFoam | Steady compressible | SIMPLE |
| buoyantSimpleFoam | Natural convection | SIMPLE+Boussinesq |
| reactingFoam | Combustion | PIMPLE+Chemical reaction |
CalculiX Input File Structure
What exactly do you mean by input file structure?
```
*NODE
1, 0.0, 0.0, 0.0
...
*ELEMENT, TYPE=C3D8
1, 1, 2, 3, 4, 5, 6, 7, 8
...
*MATERIAL, NAME=STEEL
*ELASTIC
210000., 0.3
*DENSITY
7.85e-9
*BOUNDARY
1, 1, 3
*CLOAD
100, 2, 1000.
Ah, I see! So that's how the solver selection guidelines work.
Code_Aster Command File Structure
Next is the topic of command file structure. What's it about?
```
DEBUT()
MAIL = LIRE_MAILLAGE()
MODELE = AFFE_MODELE(MAILLAGE=MAIL, ...)
RESULT = MECA_STATIQUE(MODELE=MODELE, ...)
FIN()
```
Discretization Scheme Selection
Please tell me about "Discretization Scheme Selection"!
OpenFOAM's discretization schemes are configured in the fvSchemes file. The discretization of the convection term greatly influences accuracy and stability:
After hearing this, I finally understand why solver selection guidelines are so important!
- upwind: 1st order accuracy, stable but high numerical diffusion
- linearUpwind: 2nd order accuracy, limited
- limitedLinear: 2nd order accuracy, with TVD limiter
- LUST: blended scheme, recommended for LES
Error Evaluation and Accuracy Verification
I've heard of "error evaluation and accuracy verification," but I might not fully understand it...
Discretization Error Evaluation
What exactly do you mean by discretization error evaluation?
Estimation of discretization error using Richardson extrapolation:
Here, $f_h$ is the solution with mesh width $h$, $r$ is the mesh ratio, and $p$ is the order of discretization.
GCI (Grid Convergence Index)
Please tell me about "GCI"!
Quantitative evaluation of mesh convergence based on ASME V&V 20-2009:
After hearing this, I finally understand why discretization error evaluation is so important!
This can be expressed with this formula.
Hmm, just the formula doesn't click... What does it represent?
Safety factor $F_s = 1.25$ (when comparing three or more mesh levels). Use GCI < 5% as a guideline for convergence.
Now I understand what my senior meant when he said, "Make sure you properly evaluate discretization error."
Verification Benchmark Problems
Please tell me about "Verification Benchmark Problems"!
To ensure the reliability of analysis results, comparison with the following benchmark problems is recommended:
| Field | Benchmark | Reference Solution |
|---|