ORNL / AdditiveFOAM

Software to simulate heat transfer and fluid flow in additive manufacturing using OpenFOAM
https://ornl.github.io/AdditiveFOAM/
Other
22 stars 5 forks source link

The output variable U has an unusually small value. #40

Closed LPH0696 closed 1 week ago

LPH0696 commented 2 weeks ago

Dear authors, We ran the Additive FOAM example. It was found that the resultant output of the U variable (aka velocity) had a very small value of 1.2e-39, as shown below, and the flow of fluid was barely noticeable. image The result of one of the examples. We now have new problems that needs your help. We find that there are two phases in the initial setup (powder phase and solid phase), how is the liquid phase (or fluid) introduced? How do we recognize if the powder is melting? How do we recognize the melt pool?

colemanjs commented 2 weeks ago

@LPH0696 - We have a note here: https://ornl.github.io/AdditiveFOAM/docs/usage/#case-files that states that fluid flow can be turned on by setting nOuterCorrectors to >=1 in the PIMPLE dictionary in the system/fvSolution file.

This seems to be a common issue with new users using AdditiveFOAM. I am open to suggestions if there is a way that I can make the usage more clear. Maybe a README for the tutorial case directory?

colemanjs commented 2 weeks ago

@LPH0696 - The partial differential equations (PDEs) solved in AdditiveFOAM use a mixture-based approach, where material properties are volume-averaged according to the local phase fractions within a finite volume cell. The phase state (solid or liquid) is determined by relationships defined in the constant/thermoPath file. As a cell heats through the freezing range, it transitions to a liquid state, allowing fluid motion driven primarily by Marangoni convection, which is applied as a boundary condition. During cooling, as the cell solidifies through the freezing range, fluid flow is gradually suppressed by a Darcy drag term, reducing velocity to zero as the cell becomes fully solid.

LPH0696 commented 1 week ago

Thank you very much for your reply. After setting nOuterCorrectors to 1, we can see in the output that there is variable U output.

colemanjs commented 1 week ago

Great! Marking this issue as closed.