예제 #1
0
        private NodalResponseCollection DetermineNodeLoadPatternResponses(Point2D vertex, string nodeId)
        {
            var responses = new NodalResponseCollection(nodeId, vertex);

            foreach (LateralLevelForce force in Forces)
            {
                NodalDisplacement displacement = DetermineRigidbodyPointDisplacement(vertex, force.LoadPattern);

                responses.Add(new NodalResponse(nodeId, force.LoadPattern, vertex)
                {
                    Displacement = displacement,
                    Stress       = new NodalStress {
                        LoadPattern = force.LoadPattern
                    },
                    Reaction = new NodalForce {
                        LoadPattern = force.LoadPattern
                    },
                    ExternalForce = new NodalForce {
                        LoadPattern = force.LoadPattern
                    }
                });
            }

            return(responses);
        }
예제 #2
0
        private NodalResponseCollection DetermineNodeLoadCaseResponses(string nodeId)
        {
            NodalResponseCollection loadPatternResults = Responses.NodalLoadPatternResults[nodeId];

            IEnumerable <NodalResponse> loadCaseResults =
                loadPatternResults.GetSuperimposedResponsesAtLoadCases(LoadCases);

            return(new NodalResponseCollection(loadCaseResults));
        }
예제 #3
0
        private Dictionary <string, NodalResponseCollection> DetermineAllNodeLoadCaseResponses()
        {
            var analysisResults = new Dictionary <string, NodalResponseCollection>();

            foreach (KeyValuePair <string, Point2D> node in Responses.TorsionalIrregularityTrackingNodes)
            {
                NodalResponseCollection responses = DetermineNodeLoadCaseResponses(node.Key);

                analysisResults.Add(responses.ElementId, responses);
            }

            return(analysisResults);
        }