inlet / outlet from FreeCAD

I'm a new user, currently trying to get familiar with DualSPHysics. I run the recent version under FreeCAD 0.19 and already successfully managed to start my first simulations.
I would now want to add an inlet BC that permanently throws in particles.
When I try to do this by pressing the "Special" button, the "Inlet/Outlet" button is grey and cannot be pressed.
Is using inlets + outlets only possible by editing the xml file, without the FreeCAD GUI? Or what am I doing wrong?
Thanks for your help!



  • Coupling with Chrono, coupling with wave propagation models and inlet/outlet conditions are not implemented yet in DesignSPHysics... we are currently working on that.

  • edited May 6
    allright, good to know! Then I will try it with the XML file, I think there are enough examples to get forward.
    Thanks, Martin
  • We also hope that examples help to create new ones....
    We need to create more documentation about that in the XML_GUIDE...

    Note that you can find all the options in the XML file: doc\xml_format_FmtXML_InOut.xml
  • edited May 7
    I am now using the example "05_ShapesInlet3D" as starting point.
    I could successfully modify it and run some interesting simulations.

    However, another question came up: is it possible to use the "circle" input style with a different direction than y-axis?

    I changed the following (omitting the tags - why can't I post xml code here?):
    zone3d comment="Input zone for 3-D simulations"
    #old# point x="1.4" y="2.6" z="0.7"
    #old# radius v="0.2"
    #old# direction x="0.0" y="-1" z="0"
    #new# point x="2.6" y="1.5" z="0.7"
    #new# radius v="0.2"
    #new# direction x="-1" y="0" z="0"

    And this throws an error that let's me think that it is not possible.
    "Text: Point for inlet conditions with position (2.82,1.5,0.7) is outside the domain. Checks the VTK file 'CaseShapesInlet3D_out/ErrorInOut_InoutPoints.vtk'."
    How can I define a circular inlet with a different direction than y?

    Thanks again,
  • You have to define the limits of the domain since now the inlet is outside those limits....

    The easiest way will be to use "simulationdomain" as shown in page 135 of XML_GUIDE_v4.4.pdf
    Other option is to create your numerical domain by rotating the direction so that you change X<->Y ;)
  • Hi Alex,

    I think that's not the problem. The reason for the inlet circle exceeding the domain is that it does not change its orientation when the direction tag is modified - the circle's normal vector stays aligned to the y-axis.

    When looking at the code (JSphInOutPoints::Create3d_Circle) I guess the rotateaxis tag is needed.

    Am I correct that the direction only defines the velocity direction and not the orientation of the circle? My assumption was that the velocity is always normal to the inlet, but this is obviously wrong.
    I keep on fighting!

  • Did you use Paraview to see the domain limits?
    If you open CaseShapesInlet3D_out/ErrorInOut_InoutPoints.vtk in Paraview, you should see which points lie outside your domain limit. I suggest you take screenshots of the domain and ErrorInOut_InoutPoints.vtk, so that we could have a clear picture on what the error might be.
  • Just like in ShapesInlet3D(box with 45 degrees), use rotateaxis to re-position your cylinder. The direction specifies the direction of the fluid flow, not the direction of the normal of your buffer layer.
Sign In or Register to comment.