Node

Each instance represents one node in the system

Node class methods

method

input

returns

description

__init__(x,y)

coordinates of the point as two floats

constructor. Sets position and initializes displacement and force to zeros.

fixDOF(idx)

idx of the degree of freedom (dof)

set internal flag for this dof accordingly.

isFixed(idx)

idx of the degree of freedom (dof)

True|False

test function returning True if dof at idx is fixed, False otherwise.

setDisp(u,v)

components of displacement

overwrited the displacements for this node.

getDisp()

np.array([u,v])

returns displacement vector

getPos()

np.array([x,y])

returns initial position

getDeformedPos(factor)

np.array([x+factor*u,y+factor*v])

returns current position with displacement magnified by factor. Would be good to have a default factor of 1.0 if none given.

addLoad(Px,Py)

components of load

add this load to nodal load

setLoad(Px,Px)

components of load

replace current load by provided load

getLoad()

np.array([Px,Py])

returns current load

Node class variables

name

type

description

pos

np.array([x,y])

holds x and y coordinates of the points

index

int

index position of this Node() in a System().nodes list. This needs to be set by System().addNode(thisNode), so coordinate this with the System() team.

disp

np.array([u,v])

holds x and y components of nodal displacement

fixity

list of two True|False

fixity[i] is True if i-th degree of freedom is fixed, False otherwise. Note: i=0|1

force

np.array([Px,Py])

holds x and y components of the nodal load vector.

Equations

  1. Deformed position node 0: \({\bf x}_0 = {\bf X}_0 + (factor)*{\bf U}_0\)

  2. Deformed position node 1: \({\bf x}_1 = {\bf X}_1 + (factor)*{\bf U}_1\)