Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • openfoam openfoam
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 426
    • Issues 426
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 9
    • Merge requests 9
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Development
  • openfoamopenfoam
  • Merge requests
  • !521

Lagrangian modelling updates/new features

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Andrew Heather requested to merge feature-lagrangian-additions into develop Dec 14, 2021
  • Overview 20
  • Commits 4
  • Changes 41

Multiple enhancements:

  • PatchInjectionModel: updated to include additional velocity specification options
  • ConeNozzleInjection: updated to enable dynamic position and direction vectors
  • FaceInteraction: new cloudFunctionObject

PatchInjectionModel

The parcel initial velocity can now be set using the new velocityType entry, taking one of the following options:

  • fixedValue : (default) same as earlier versions, requires U0
  • patchValue : velocity set to seed patch face value
  • zeroGradient : velocity set to seed patch face adjacent cell value

Example usage:

model1
{
    type            patchInjection;
    massTotal       1;
    SOI             0;
    parcelBasisType mass;
    patch           cylinder;
    duration        10;
    parcelsPerSecond 100;
    velocityType    patchValue;
    //velocityType    zeroGradient;
    //U0              (-10 0 0);
    flowRateProfile constant 1;
    sizeDistribution
    {
        type        normal;
        normalDistribution
        {
            expectation 1e-3;
            variance 1e-4;
            minValue 1e-5;
            maxValue 2e-3;
        }
    }
}

See the new $FOAM_TUTORIALS/lagrangian/kinematicParcelFoam/spinningDisk tutorial

ConeNozzleInjection

  • Now only has the options point and disk (deprecated movingPoint)

    • moving state is based on the type of Function1
  • The position and direction entries are Function1-types, e.g. for the table type the entries could be:

position        table
(
    (  0 (0.1 0.5 0.5))
    (0.2 (0.5 0.9 0.5))
    (0.4 (0.9 0.5 0.5))
    (0.6 (0.5 0.1 0.5))

    (0.8 (0.5 0.5 0.9))
    (1.0 (0.5 0.9 0.5))
    (1.2 (0.5 0.5 0.1))
    (1.4 (0.5 0.1 0.5))
);

direction       table
(
    (  0 ( 1  0  0))
    (0.2 ( 0 -1  0))
    (0.4 (-1  0  0))
    (0.6 ( 0  1  0))

    (0.8 ( 0  0 -1))
    (1.0 ( 0 -1  0))
    (1.2 ( 0  0  1))
    (1.4 ( 0  1  0))
);

FaceInteraction

Enables particles to interact with mesh faces (described using faceZones).

faceInteraction1
{
    type            faceInteraction;
    faceZones
    (
        (blockageFaces    stick)
//            (blockageFaces    escape)
//            (blockageFaces    rebound) // not applicable for this test case (!)
    );

    dMin            0;
    dMax            1;
}
    
The `faceZones` entry is a list of (`faceZoneName` `interactionType`), where interaction type is either `stick`, `escape` or `rebound`.

No tutorial added yet; for testing: reactingParcelFoam case: [filter.tgz](/uploads/e0034538f6c9bb85c0cfa3e1068a6ba2/filter.tgz)
Edited Dec 15, 2021 by Kutalmış Berçin
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: feature-lagrangian-additions