External loads on thrust network

I am analyzing a structure with a given set of external loads on nodes. And those loads are assigned to pz as follows.

form.set_vertices_attributes(‘pz’,volumes*density)

  1. Is Pz is positive in gravity direction or vice versa
  2. When the self weight is being updated during solving for vertical equilibrium, does it replace Pz or get added on top of Pz. If so, to neglect the self weight I can set the density to a negligibly small value, correct?

scale = vertical(form, zmax, kmax=100, density=0.00001)

explicitly assigned loads (pz attributes) are added on top of the selfweight. if you want to exclude selfweight, set the density to 0.0.

pz is in the direction of gravity. positive values point down. negative values up.

note that you can’t set the pz values of multiple nodes in the way you described in your post.

set_vertex_attribute(key, name, value)
sets the attribute with the given name to the given value.

set_vertex_attributes(key, names, values)
sets the attributes with the given names to the given values

set_vertices_attribute(name, value)
sets the attribute with the given name to the given value for all vertices

set_vertices_attributes(names, values)
sets the attributes with the given names to the given values for all vertices

So, if I have the nodal loads in a list (or dict), the option would be to use ‘set_vertex_attribute’ in a loop?

yes. we are working on making these functions more flexible, but for now that is the way to do it…

1 Like