|
[Sponsors] |
April 16, 2019, 13:41 |
volField of bool values (or integers) ?
|
#1 |
New Member
Danny
Join Date: Jan 2018
Posts: 1
Rep Power: 0 |
Hi All,
I am an OpenFOAM novice and am working on a Cellular Automata model for alloy solidification. When a grain is nucleated at a cell, I want its value (switch i.e. true or false) to change, indicating that it is now solid. As far as I have been able to find out, there is no volField which uses a bool value, or even an integer value i.e. no volSwitchField / volLabelField or equivalent. I am assigning it a random crystal orientation, which I am recording as a volVectorField, whose 3 components are the 3 Euler angles, so if I could just modify the volVectorField class to also record if the cell is solid or liquid that would be perfect. When a cell is liquid, it has no orientation angle, so a possible work around would be to set the angles to an invalid value, e.g. greater than 360 degrees, or NaN. However, as the CA algorithm will be constantly checking the state (solid or liquid) of neighbouring cells, a switch value would be more natural and probably more efficient. For now I am using a volScalarField and setting its value to 0 or 1, and when checking I am allowing some tolerance. Any help would be greatly appreciated, as I am very new to this and digging through source code to find answers is difficult at my current level. Best Regards, Danny |
|
April 19, 2019, 05:24 |
|
#2 |
Member
Vu
Join Date: Nov 2016
Posts: 42
Rep Power: 10 |
Hi Danny,
Why don't you try using a boolList or PackedBoolList instead? |
|
September 24, 2020, 06:02 |
Cellular Automata
|
#3 |
Member
Thomas Flint
Join Date: Jan 2016
Posts: 60
Rep Power: 10 |
Hi Danny,
How far did you get in implementing the cellular automata method in openfoam? I am more familiar with phase field methods, but I'm also thinking of implementing CA solidification model in my solver. I have a 'simple' multi-component description of diffusion for liquids, with N phases (n-1)^2 diffusion coefficient matrix. If you have something working it would be great to see it in action. All the best, Tom |
|
October 1, 2020, 06:31 |
CA
|
#4 |
Member
Thomas Flint
Join Date: Jan 2016
Posts: 60
Rep Power: 10 |
Hi Danny,
Not sure if you're still working on this. Bu I just finished my cellular automata implementation. I used dynamic lists to store al the data for the growing octahedron in each cell. Then when a particular vector of that octahedron entered a new cell I used this point as the new origin for that cells octahedron - copying over the three euler angles to that cell etc. It works very well. I had to use the lists in order to parallelise. There was some memory distribution fighting to be done but I'm really happy with it. Let me know if you do want a hand with your implementation. My work is multiphase so I dont think I'll be able to simulate the solute rejection at the growing interface easily. I think I would need a phase field model for the moving boundary concentration condition. I can do it for a binary alloy but struggling with my N-component mixture. Do you know if anyone has done any work in multicomponent solute partitioning in OpenFOAM? I think I'll just grow the dendrites by curvature and local undercooling. I'd be interested to hear your thoughts on this. All the best, Tom |
|
Tags |
bool, cellular, field, solidification, switch |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
TimeVaryingMappedFixedValue | irishdave | OpenFOAM Running, Solving & CFD | 32 | June 16, 2021 07:55 |
[snappyHexMesh] snappyHexMesh error "Cannot determine normal vector from patches." | lethu | OpenFOAM Meshing & Mesh Conversion | 1 | June 3, 2020 08:49 |
Reconstruction after parallel run with dynamic mesh refinement | sebonator | OpenFOAM | 9 | June 14, 2018 08:38 |
using chemkin | JMDag2004 | OpenFOAM Pre-Processing | 2 | March 8, 2016 23:38 |
Velocity values are normal but pressure values are too big | rv82 | OpenFOAM Running, Solving & CFD | 4 | April 13, 2015 04:59 |