sphere Class Reference

A zoneGenerator which selects points, cells or faces with centres either inside or outside a sphere. More...

Inheritance diagram for sphere:
Collaboration diagram for sphere:

Public Member Functions

 TypeName ("sphere")
 Runtime type information. More...
 
 sphere (const word &name, const polyMesh &mesh, const dictionary &dict)
 Construct from dictionary. More...
 
virtual ~sphere ()
 Destructor. More...
 
virtual zoneSet generate () const
 Generate and return the zoneSet. More...
 
- Public Member Functions inherited from volume
 volume (const word &name, const polyMesh &mesh, const dictionary &dict)
 Construct from dictionary. More...
 
virtual ~volume ()
 Destructor. More...
 
template<class ZoneType , class UnaryOp , class ZoneGenType >
Foam::labelList select (const ZoneGenType &zoneGen, const vectorField &pts, const UnaryOp &uop) const
 
template<class ZoneType , class UnaryOp , class ZoneGenType >
Foam::labelList select (const ZoneGenType &zoneGen, const zoneGeneratorList &zoneGenerators, const vectorField &pts, const UnaryOp &uop) const
 
template<class ZoneType , class ZoneGenType >
Foam::labelList selectOp (const ZoneGenType &zoneGen, const zoneGeneratorList &zoneGenerators, const vectorField &pts) const
 
template<class UnaryOp , class ZoneGenType >
Foam::labelList select (const ZoneGenType &zoneGen, const zoneGeneratorList &zoneGenerators, const vectorField &pts, boolList &flipMap, const UnaryOp &uop) const
 
template<class ZoneGenType >
Foam::labelList selectOp (const ZoneGenType &zoneGen, const zoneGeneratorList &zoneGenerators, const vectorField &pts, boolList &flipMap) const
 
template<class ZoneGenType >
Foam::zoneSet generate (const ZoneGenType &zoneGen) const
 
- 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...
 

Friends

class volume
 

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 Types inherited from volume
enum class  selection { inside , outside }
 Enumeration for inside/outside selection. More...
 
- Protected Member Functions inherited from volume
template<class ZoneType , class UnaryOp , class ZoneGenType >
labelList select (const ZoneGenType &zoneGen, const vectorField &pts, const UnaryOp &uop) const
 
template<class ZoneType , class UnaryOp , class ZoneGenType >
labelList select (const ZoneGenType &zoneGen, const zoneGeneratorList &zoneGenerators, const vectorField &pts, const UnaryOp &uop) const
 
template<class ZoneType , class ZoneGenType >
labelList selectOp (const ZoneGenType &zoneGen, const zoneGeneratorList &zoneGenerators, const vectorField &pts) const
 
template<class UnaryOp , class ZoneGenType >
labelList select (const ZoneGenType &zoneGen, const zoneGeneratorList &zoneGenerators, const vectorField &pts, boolList &flipMap, const UnaryOp &uop) const
 
template<class ZoneGenType >
labelList selectOp (const ZoneGenType &zoneGen, const zoneGeneratorList &zoneGenerators, const vectorField &pts, boolList &flipMap) const
 
template<class ZoneGenType >
zoneSet generate (const ZoneGenType &zone) const
 Generate the zone of the given type. More...
 
- Static Protected Member Functions inherited from volume
static NamedEnum< selection, 2 >::namesType selectionNames_ ()
 Initialisation function for selection enumeration names. More...
 
- Protected Attributes inherited from volume
zoneTypes zoneType_
 
selection select_
 Inside/outside selection. More...
 
zoneGeneratorList zoneGenerators_
 Optional list of zoneGenerators which provide the zones to sub-set. 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...
 
- Static Protected Attributes inherited from volume
static const NamedEnum< selection, 2 > selectionNames
 Enumeration names for inside/outside selection. More...
 

Detailed Description

A zoneGenerator which selects points, cells or faces with centres either inside or outside a sphere.

By default all the points, cells or faces of the mesh are tested for being inside or outside the sphere but an optional single zone or list of zones may be provided and those points, cells or faces are tested instead. This provides an efficient method of hierarchical sub-division of space where an initial selection of points cells or faces is refined by selecting the sub-set inside or outside the given sphere rather than having to generate another zone to intersect with.

Usage
Property Description Required Default value
type Type: sphere yes
name Name of the zone no zoneGenerator name
zoneType Type of zone yes
select Select either the inside or outside no inside
moveUpdate Switch to update after mesh motion no false
centre Centre of the sphere yes
radius Radius of the sphere yes
zone Optional zone to sub-set no
zones Optional list of zones to sub-set no

A cellZone named sphere1 containing the cells with centres inside a cylinder can be generated by

        sphere1
        {
            type        sphere;
            zoneType    cell;

            centre      (-0.003 0.0025 0);
            radius      0.001;
        }
See also
zoneGenerators::volume
Source files

Definition at line 139 of file sphere.H.

Constructor & Destructor Documentation

◆ sphere()

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

Construct from dictionary.

Definition at line 51 of file sphere.C.

◆ ~sphere()

~sphere ( )
virtual

Destructor.

Definition at line 67 of file sphere.C.

Member Function Documentation

◆ TypeName()

TypeName ( "sphere"  )

Runtime type information.

◆ generate()

Foam::zoneSet generate ( ) const
virtual

Generate and return the zoneSet.

Implements volume.

Definition at line 73 of file sphere.C.

References volume::generate().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ volume

friend class volume
friend

Definition at line 157 of file sphere.H.


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