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 415
    • Issues 415
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 7
    • Merge requests 7
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Development
  • openfoamopenfoam
  • Issues
  • #1621
Closed
Open
Issue created Mar 07, 2020 by Justin Graupman@graups

Add a "cellZoneAndDirection" mode to surfaceFieldValue FO (like fluxSummary)

Functionality to add/problem to solve

The fluxSummary function object has a really useful mode called cellZoneAndDirection which takes a cellZone and a direction. This mode finds the interior faces of the faceZone associated with the cellZone and then splits the faces by connected regions. It would be super useful to have a similar mode in the surfaceFieldValue function object so that we can auto split and monitor other fields across cellZone faces (like pressure drop for a porous zone). 

Target audience

Anyone with disconnected cellZone faces that want to monitor the disconnected regions separately. This is common for a porous zone that is surrounded by walls and only has an "inlet" and "outlet" to the zone. Right now pressure drop is difficult to monitor since snappyHexMesh by default puts the "inlet" and "outlet" faces of a cellZone into a single faceZone. TopoSet can be used to split the faceZone after the fact, but we could eliminate that step with this option.

Proposal

Something like this is what I'd propose (i'm not even sure the direction is needed)...

fieldValue
{
    type                surfaceFieldValue;
    libs                ("libfieldFunctionObjects.so");        
    writeControl        timeStep;
    writeInterval       1;        
    regionType          cellZoneAndDirection;
    cellZoneAndDirection
    (
        (porous (0 0 -1))
    );
    operation           weightedAverage;
    weightField         U;
    fields
    (
        p            
    );
}

What does success look like, and how can we measure that?

Being able to do what fluxSummary does with cellZones and splitting the faceZones by connected region, but instead of monitoring flux, have the ability to monitor pressure (or any other field) on each faceZone.

Funding

Functionality technically already exists, just needs to be applied to surfaceFieldValue. I am not prepared to directly fund this feature request.

Edited Mar 07, 2020 by Justin Graupman
Assignee
Assign to
Time tracking