difference Class Reference

A zoneGenerator which selects the elements in the first zones generated by the given list of zoneGenerators and removes the elements which are in subsequent zones. More...

Inheritance diagram for difference:
Collaboration diagram for difference:

Public Member Functions

 TypeName ("difference")
 Runtime type information. More...
 
 difference (const word &name, const polyMesh &mesh, const dictionary &dict)
 Construct from dictionary. More...
 
virtual ~difference ()
 Destructor. More...
 
virtual zoneSet generate () const
 Generate and return the zoneSet. More...
 
- Public Member Functions inherited from Union
 TypeName ("union")
 Runtime type information. More...
 
 Union (const word &name, const polyMesh &mesh, const dictionary &dict)
 Construct from dictionary. More...
 
virtual ~Union ()
 Destructor. More...
 
- Public Member Functions inherited from zoneGenerator
 TypeName ("zoneGenerator")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, zoneGenerator, dictionary,(const word &name, const polyMesh &mesh, const dictionary &dict),(name, mesh, dict))
 
 zoneGenerator (const word &name, const polyMesh &mesh, const dictionary &dict)
 Construct from name, polyMesh and dictionary. More...
 
 zoneGenerator (const zoneGenerator &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~zoneGenerator ()
 Destructor. More...
 
const wordname () const
 
const wordzoneName () const
 
bool moveUpdate () const
 Return true if the zoneGenerator updates any of the zones. More...
 
virtual zoneSet movePoints () const
 Regenerate the zoneSet following mesh point motion. More...
 
void operator= (const zoneGenerator &)=delete
 Disallow default bitwise assignment. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from zoneGenerator
static autoPtr< zoneGeneratorNew (const word &name, const polyMesh &mesh, const dictionary &dict)
 Select constructed from name, mesh and dictionary. More...
 
static autoPtr< zoneGeneratorNew (const word &name, const zoneTypes &zoneType, const polyMesh &mesh, const dictionary &dict)
 Select constructed from name, zoneType, mesh and dictionary. More...
 
static autoPtr< zoneGeneratorNew (const polyMesh &mesh, const dictionary &dict)
 Select constructed from mesh and first valid dictionary. More...
 
static labelList indices (const boolList &selected)
 Return the list of selected indices. More...
 
- Protected Member Functions inherited from Union
zoneSet generate (const bool diff, const bool all) const
 Generate the zoneSet for union or difference. More...
 
- Protected Attributes inherited from zoneGenerator
const word name_
 Name of zone generator. More...
 
const dictionary dict_
 Dictionary cached for error context. More...
 
const word zoneName_
 Name of the zone (defaults to the name of the generator) More...
 
const polyMeshmesh_
 Reference to the polyMesh. More...
 
bool moveUpdate_
 Switch to update the zones if the mesh points are moved. More...
 

Detailed Description

A zoneGenerator which selects the elements in the first zones generated by the given list of zoneGenerators and removes the elements which are in subsequent zones.

An difference faceZones is oriented if the first faceZones is oriented, otherwise the returned faceZone is unoriented.

Usage
Property Description Required Default value
type Type: difference yes
name Name of the zone no zoneGenerator name
zoneType Type of zone no all the zone types
moveUpdate Switch to update after mesh motion no false
These options are followed by a list of any number of zoneGenerators which can either generate the zones locally or return zones from the lists of zones held by the mesh using the zoneGenerators::lookup zoneGenerator. The resultant zones are initialised by the first zoneGenerator in the list and then the zones generated by subsequent zoneGenerator are subtracted from them.

Each zoneGenerator returns a zoneSet containing a pointZone and/or a cellZone and/or a faceZone, the zoneGenerators::difference operation combines each of the zone types unless the zoneType is specified in which case only the zones of that type are combined.

A cellZone named coneNotAnnulus containing the with centres inside the predefined cone1 which is looked-up from the cellZoneList less the cells in locally defined annulus is be generated by

        notConeOrAnnulus
        {
            type        difference;

            cone1;

            annulus1
            {
                type        annulus;
                zoneType    cell;

                point1      (-0.0075 0 -1);
                point2      (-0.003 0.0025 1);
                outerRadius 0.002;
                innerRadius 0.001;
            }
        }
See also
zoneGenerators::Union zoneGenerators::intersection zoneGeneratorList
Source files

Definition at line 129 of file difference.H.

Constructor & Destructor Documentation

◆ difference()

difference ( const word name,
const polyMesh mesh,
const dictionary dict 
)

Construct from dictionary.

Definition at line 44 of file difference.C.

◆ ~difference()

~difference ( )
virtual

Destructor.

Definition at line 57 of file difference.C.

Member Function Documentation

◆ TypeName()

TypeName ( "difference"  )

Runtime type information.

◆ generate()

Foam::zoneSet generate ( ) const
virtual

Generate and return the zoneSet.

Reimplemented from Union.

Definition at line 63 of file difference.C.

References Union::generate().

Here is the call graph for this function:

The documentation for this class was generated from the following files: