Skip to content
Snippets Groups Projects

Lagrangian modelling updates/new features

Merged Andrew Heather requested to merge feature-lagrangian-additions into develop

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 by Kutalmış Berçin

Merge request reports

Approval is optional

Merged by Andrew HeatherAndrew Heather 3 years ago (Dec 15, 2021 10:46am UTC)

Merge details

  • Changes merged into develop with ae708e67.
  • Deleted the source branch.

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Kutalmış Berçin
  • Kutalmış Berçin
  • Kutalmış Berçin
  • Kutalmış Berçin
  • Kutalmış Berçin
  • Kutalmış Berçin
  • Kutalmış Berçin
  • Kutalmış Berçin marked this merge request as draft

    marked this merge request as draft

  • Tests

    • Compilation (incl. submodules):
      • linux64ClangDPInt32Opt (clang11)
      • linux64GccDPInt32Opt
      • linux64GccSPDPInt64Debug
    • Alltest: No new error (apart from the aforementioned movingInjectorBox)
  • Andrew Heather added 4 commits

    added 4 commits

    • d3d49588 - ENH: PatchInjectionModel - added new parcel initial velocity options
    • 8d5390c5 - ENH: ConeNozzleInjection - enabled direction to change as f(time)
    • f0db0346 - TUT: Lagrangian - added example showing moving injector
    • 020c2ba0 - ENH: Added new FaceInteraction cloudFunctionObject

    Compare with previous version

  • Kutalmış Berçin resolved all threads

    resolved all threads

  • Andrew Heather resolved all threads

    resolved all threads

  • Andrew Heather resolved all threads

    resolved all threads

  • Andrew Heather resolved all threads

    resolved all threads

  • Andrew Heather resolved all threads

    resolved all threads

  • Andrew Heather resolved all threads

    resolved all threads

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading