LBIBCell
 All Classes Functions Variables Friends Pages
LbmLib::nodes::GeometryNode Class Reference

class representing a geometry node More...

#include <GeometryNode.hpp>

Inheritance diagram for LbmLib::nodes::GeometryNode:
LbmLib::nodes::LagrangianPoint

Public Member Functions

 GeometryNode (double x, double y, unsigned int id)
 GeometryNode constructs a Geometry node. More...
 
 ~GeometryNode ()
 ~GeometryNode Destructor
 
void writeNode (std::ostream *stream)
 writes the node to the stream More...
 
void move ()
 movePoint Moves the geomety node exactly one timestep
 
void addPhysicalNode (PhysicalNode *const physicalNode, unsigned int pos)
 addPhysicalNode Adds a physical node at a certain position More...
 
virtual std::string getType () const
 getType The type of a node class More...
 
virtual void setPos (double x, double y)
 setPos Set the position new override to make sure that perturbation occures More...
 
void collectVelocity ()
 collectVelocity collects the velocities from the fluid nodes to the geometry Nodes
 
void distributeForce ()
 distributes the Force to the fluid nodes
 
bool isUpdateNeeded () const
 isUpdateNeeded Calculates if the connections of this points need to be updates More...
 
void setForce (Field< double > f)
 set the force of this node More...
 
void addForce (Field< double > f)
 adds the force to the force of this node More...
 
unsigned int getId () const
 getter for the node id More...
 
template<std::size_t K>
void setConnection (const std::shared_ptr< LbmLib::geometry::Connection > newconnection)
 setter for the Kth Connection More...
 
template<std::size_t K>
const std::shared_ptr
< LbmLib::geometry::Connection
getConnection () const
 getter for the Kth Connection More...
 
unsigned int getDomainIdOfAdjacentConnections (void) const
 get the domainID of the (max two) adjacent *Connection*s More...
 
- Public Member Functions inherited from LbmLib::nodes::LagrangianPoint
 LagrangianPoint (double x, double y)
 LagrangianPoint Constructs a new point. More...
 
virtual ~LagrangianPoint ()
 ~LagrangianPoint vitual Destructor
 
double getXVelocity () const
 getXVelocity Getter for x-velocity component More...
 
double getYVelocity () const
 getYVelocity Getter for the y-velocity component More...
 
Field< double > getVelocity () const
 getVelocity Getter for the velocity More...
 
double getXPos () const
 getXPos Getter for the X position More...
 
double getYPos () const
 getYPos Getter for the Y position More...
 
Field< double > getPos () const
 getPos Getter for the pos More...
 
void setXPos (double x)
 setXPos Set a new x position. More...
 
void setYPos (double y)
 setYPos Set a new y position. More...
 
virtual void setVelocity (Field< double > velocity)
 setVelocity Set the velocity More...
 

Detailed Description

class representing a geometry node

Definition at line 48 of file GeometryNode.hpp.

Constructor & Destructor Documentation

LbmLib::nodes::GeometryNode::GeometryNode ( double  x,
double  y,
unsigned int  id 
)

GeometryNode constructs a Geometry node.

Parameters
xthe x pos
ythe y pos
idthe id of this node

Definition at line 98 of file GeometryNode.cpp.

Member Function Documentation

void LbmLib::nodes::GeometryNode::addForce ( Field< double >  f)

adds the force to the force of this node

Parameters
fthe force added

Definition at line 130 of file GeometryNode.cpp.

void LbmLib::nodes::GeometryNode::addPhysicalNode ( PhysicalNode *const  physicalNode,
unsigned int  pos 
)

addPhysicalNode Adds a physical node at a certain position

Parameters
physicalNodeA Pointer to a physical node
posThe internal position of the physical node

Definition at line 134 of file GeometryNode.cpp.

template<std::size_t K>
const std::shared_ptr<LbmLib::geometry::Connection> LbmLib::nodes::GeometryNode::getConnection ( ) const
inline

getter for the Kth Connection

Returns
a pointer to the Connection

Definition at line 164 of file GeometryNode.hpp.

unsigned int LbmLib::nodes::GeometryNode::getDomainIdOfAdjacentConnections ( void  ) const

get the domainID of the (max two) adjacent *Connection*s

Returns
The domainID

Definition at line 267 of file GeometryNode.cpp.

unsigned int LbmLib::nodes::GeometryNode::getId ( ) const

getter for the node id

Returns
the node id of this node

Definition at line 263 of file GeometryNode.cpp.

std::string LbmLib::nodes::GeometryNode::getType ( ) const
virtual

getType The type of a node class

Returns
Returns the class Name of the point

Reimplemented from LbmLib::nodes::LagrangianPoint.

Definition at line 241 of file GeometryNode.cpp.

bool LbmLib::nodes::GeometryNode::isUpdateNeeded ( ) const

isUpdateNeeded Calculates if the connections of this points need to be updates

Returns
True if the point needs to redefine his connection

Definition at line 256 of file GeometryNode.cpp.

template<std::size_t K>
void LbmLib::nodes::GeometryNode::setConnection ( const std::shared_ptr< LbmLib::geometry::Connection newconnection)
inline

setter for the Kth Connection

Parameters
newconnectiona pointer to the Connection

Definition at line 144 of file GeometryNode.hpp.

void LbmLib::nodes::GeometryNode::setForce ( Field< double >  f)

set the force of this node

Parameters
fthe new force f on this node

Definition at line 237 of file GeometryNode.cpp.

void LbmLib::nodes::GeometryNode::setPos ( double  x,
double  y 
)
virtual

setPos Set the position new override to make sure that perturbation occures

Parameters
xThe new x position
yThe new y position

Reimplemented from LbmLib::nodes::LagrangianPoint.

Definition at line 143 of file GeometryNode.cpp.

void LbmLib::nodes::GeometryNode::writeNode ( std::ostream *  stream)

writes the node to the stream

Parameters
streamthe output stream

Definition at line 126 of file GeometryNode.cpp.


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