JWock82/Pynite

Model Fails Statics Checks

Open

#102 opened on Sep 27, 2021

 (27 comments) (1 reaction) (2 assignees)Python (148 forks)github user discovery
help wantedprogram limitation

Repository metrics

Stars
 (733 stars)
PR merge metrics
 (Avg merge 18d 16h) (1 merged PR in 30d)

Description

Sorry to come again with problems and not solutions, but i'm having some trouble with a proof-of-concept lateral stability model that i have been trying to analyse with PyNite. It is a model of an RC building core and shear wall, with some rigid members connecting the two to represent the rigid floor diaphragm.

The model runs fine, and the stress plots on the quad elements look good, but the model fails statics checks. The global reactions are larger than the sum of the applied forces. The 'check_statics' function built in to the 'analyze' method confirms this.

Any thoughts on what could be causing this?

The code to generate the model is complex so i've pickled the model and attached it in a zip file below:

stability_test.zip

I have subclassed PyNite.FEModel3D so you'll need to use the below code to read the model.

import pickle

infile = ...

class customUnpickler(pickle.Unpickler):
    def find_class(self, module, name):
        if module == "Analysis.AnalysisBase":
            module = "PyNite.FEModel3D"
            name = "FEModel3D"

        return super().find_class(module, name)
    
with open(infile,mode="rb") as f: model=customUnpickler(f).load()


Also, i've noticed that Visualization._PrepContour fails when there are nodes in the model not connected to Quad or Plate elements. node.contour = sum(node.contour)/len(node.contour) results in a divide by zero error.

Contributor guide