Пример #1
0
        /// <summary>
        /// Gets the area joint force shell.
        /// </summary>
        /// <param name="app">The application.</param>
        /// <param name="name">The name.</param>
        /// <param name="itemType">LoadType of the item.</param>
        /// <returns>List&lt;Tuple&lt;ObjectPointResultsIdentifier, AnalysisLoads&gt;&gt;.</returns>
        public static List <Tuple <ObjectPointResultsIdentifier, AnalysisLoads> > GetAreaJointForceShell(
            IResults app,
            string name,
            eItemTypeElement itemType = eItemTypeElement.ObjectElement)
        {
            app.AreaJointForceShell(name, itemType,
                                    out var objectNames,
                                    out var elementNames,
                                    out var pointNames,
                                    out var loadCases,
                                    out var stepTypes,
                                    out var stepNumbers,
                                    out var jointForces);

            List <Tuple <ObjectPointResultsIdentifier, AnalysisLoads> > resultItems = new List <Tuple <ObjectPointResultsIdentifier, AnalysisLoads> >();

            for (int i = 0; i < loadCases.Length; i++)
            {
                ObjectPointResultsIdentifier identifier =
                    new ObjectPointResultsIdentifier
                {
                    LoadCase    = loadCases[i],
                    StepType    = stepTypes[i],
                    StepNumber  = stepNumbers[i],
                    ObjectName  = objectNames[i],
                    ElementName = elementNames[i],
                    PointName   = pointNames[i]
                };

                resultItems.Add(new Tuple <ObjectPointResultsIdentifier, AnalysisLoads>(identifier, jointForces[i]));
            }

            return(resultItems);
        }
Пример #2
0
        /// <summary>
        /// Gets the panel zone forces.
        /// </summary>
        /// <param name="app">The application.</param>
        /// <param name="name">The name.</param>
        /// <param name="itemType">LoadType of the item.</param>
        /// <returns>List&lt;Tuple&lt;ElementPointResultsIdentifier, Forces&gt;&gt;.</returns>
        public static List <Tuple <ElementPointResultsIdentifier, Forces> > GetPanelZoneForces(
            IResults app,
            string name,
            eItemTypeElement itemType = eItemTypeElement.ObjectElement)
        {
            app.PanelZoneForce(name,
                               itemType,
                               out var elementNames,
                               out var pointNames,
                               out var loadCases,
                               out var stepTypes,
                               out var stepNumbers,
                               out var forces);

            return(loadCases.Select((t, i) => new ElementPointResultsIdentifier()
            {
                LoadCase = t,
                PointName = pointNames[i],
                ElementName = elementNames[i],
                StepType = stepTypes[i],
                StepNumber = stepNumbers[i]
            })
                   .Select((result, i) => new Tuple <ElementPointResultsIdentifier, Forces>(result, forces[i]))
                   .ToList());
        }
Пример #3
0
 public void AreaForceShell(string name,
                            eItemTypeElement itemType,
                            ref string[] objectNames,
                            ref string[] elementNames,
                            ref string[] pointNames,
                            ref string[] loadCases,
                            ref string[] stepTypes,
                            ref double[] stepNumbers,
                            ref double[] F11,
                            ref double[] F22,
                            ref double[] F12,
                            ref double[] FMax,
                            ref double[] FMin,
                            ref double[] FAngle,
                            ref double[] FVM,
                            ref double[] M11,
                            ref double[] M22,
                            ref double[] M12,
                            ref double[] MMax,
                            ref double[] MMin,
                            ref double[] MAngle,
                            ref double[] V13,
                            ref double[] V23,
                            ref double[] VMax,
                            ref double[] VAngle)
 {
 }
Пример #4
0
 public void GetConstraint(string name,
                           ref int numberItems,
                           ref string[] pointNames,
                           ref string[] constraintNames,
                           eItemTypeElement itemType = eItemTypeElement.Element)
 {
 }
Пример #5
0
        /// <summary>
        /// Gets the link deformations.
        /// </summary>
        /// <param name="app">The application.</param>
        /// <param name="name">The name.</param>
        /// <param name="itemType">LoadType of the item.</param>
        /// <returns>List&lt;Tuple&lt;ObjectResultsIdentifier, Deformations&gt;&gt;.</returns>
        public static List <Tuple <ObjectResultsIdentifier, Deformations> > GetLinkDeformations(
            IResults app,
            string name,
            eItemTypeElement itemType = eItemTypeElement.ObjectElement)
        {
            app.LinkDeformation(name,
                                itemType,
                                out var objectNames,
                                out var elementNames,
                                out var loadCases,
                                out var stepTypes,
                                out var stepNumbers,
                                out var forces);

            return(loadCases.Select((t, i) => new ObjectResultsIdentifier()
            {
                LoadCase = t,
                ObjectName = objectNames[i],
                ElementName = elementNames[i],
                StepType = stepTypes[i],
                StepNumber = stepNumbers[i]
            })
                   .Select((result, i) => new Tuple <ObjectResultsIdentifier, Deformations>(result, forces[i]))
                   .ToList());
        }
Пример #6
0
 public void AssembledJointMass(string massSourceName,
                                string name,
                                eItemTypeElement itemType,
                                ref string[] pointElementNames,
                                ref string[] massSourceNames,
                                ref Mass[] masses)
 {
 }
Пример #7
0
 public void GetLoadRotate(string name,
                           ref int numberItems,
                           ref string[] names,
                           ref string[] loadPatterns,
                           ref double[] rotateLoadValues,
                           eItemTypeElement itemType = eItemTypeElement.Element)
 {
 }
Пример #8
0
 public void GetLoadPorePressure(string name,
                                 ref int numberItems,
                                 ref string[] names,
                                 ref string[] loadPatterns,
                                 ref double[] porePressureLoadValues,
                                 ref string[] jointPatternNames,
                                 eItemTypeElement itemType = eItemTypeElement.Element)
 {
 }
Пример #9
0
 public void GetLoadDeformation(string name,
                                ref int numberItems,
                                ref string[] names,
                                ref string[] loadPatterns,
                                ref DegreesOfFreedomLocal[] degreesOfFreedom,
                                ref Deformations[] deformations,
                                eItemTypeElement itemType = eItemTypeElement.Element)
 {
 }
Пример #10
0
 public void PanelZoneDeformation(string name,
                                  eItemTypeElement itemType,
                                  ref string[] elementNames,
                                  ref string[] loadCases,
                                  ref string[] stepTypes,
                                  ref double[] stepNumbers,
                                  ref Deformations[] deformations)
 {
 }
Пример #11
0
 public void GetLoadTargetForce(string name,
                                ref int numberItems,
                                ref string[] names,
                                ref string[] loadPatterns,
                                ref ForcesActive[] forcesActive,
                                ref Deformations[] deformations,
                                ref Forces[] relativeForcesLocation,
                                eItemTypeElement itemType = eItemTypeElement.Element)
 {
 }
Пример #12
0
 public void GetLoadDisplacement(string name,
                                 ref int numberItems,
                                 ref string[] pointNames,
                                 ref string[] loadPatterns,
                                 ref int[] loadPatternSteps,
                                 ref string[] coordinateSystem,
                                 ref Displacements[] displacements,
                                 eItemTypeElement itemType = eItemTypeElement.Element)
 {
 }
Пример #13
0
 public void GetLoadForce(string name,
                          ref int numberItems,
                          ref string[] pointNames,
                          ref string[] loadPatterns,
                          ref int[] loadPatternSteps,
                          ref string[] coordinateSystem,
                          ref Loads[] forces,
                          eItemTypeElement itemType = eItemTypeElement.Element)
 {
 }
Пример #14
0
 public void GetLoadStrain(string name,
                           ref int numberItems,
                           ref string[] names,
                           ref string[] loadPatterns,
                           ref eStrainComponent[] component,
                           ref double[] strainLoadValues,
                           ref string[] jointPatternNames,
                           eItemTypeElement itemType = eItemTypeElement.Element)
 {
 }
Пример #15
0
 public void GetLoadSurfacePressure(string name,
                                    ref int numberItems,
                                    ref string[] names,
                                    ref string[] loadPatterns,
                                    ref eFace[] faceApplied,
                                    ref double[] surfacePressureLoadValues,
                                    ref string[] jointPatternNames,
                                    eItemTypeElement itemType = eItemTypeElement.Element)
 {
 }
Пример #16
0
 public void PanelZoneForce(string name,
                            eItemTypeElement itemType,
                            ref string[] elementNames,
                            ref string[] pointNames,
                            ref string[] loadCases,
                            ref string[] stepTypes,
                            ref double[] stepNumbers,
                            ref Forces[] forces)
 {
 }
Пример #17
0
 public void ModeShape(string name,
                       eItemTypeElement itemType,
                       ref string[] objectNames,
                       ref string[] elementNames,
                       ref string[] loadCases,
                       ref string[] stepTypes,
                       ref double[] stepNumbers,
                       ref Deformations[] displacements)
 {
 }
Пример #18
0
 public void JointReaction(string name,
                           eItemTypeElement itemType,
                           ref string[] objectNames,
                           ref string[] elementNames,
                           ref string[] loadCases,
                           ref string[] stepTypes,
                           ref double[] stepNumbers,
                           ref Loads[] jointForces)
 {
 }
Пример #19
0
 public void JointVelocityAbsolute(string name,
                                   eItemTypeElement itemType,
                                   ref string[] objectNames,
                                   ref string[] elementNames,
                                   ref string[] loadCases,
                                   ref string[] stepTypes,
                                   ref double[] stepNumbers,
                                   ref Deformations[] velocities)
 {
 }
Пример #20
0
 public void GetLoadUniform(string name,
                            ref int numberItems,
                            ref string[] names,
                            ref string[] loadPatterns,
                            ref string[] coordinateSystems,
                            ref eLoadDirection[] directionApplied,
                            ref double[] uniformLoadValues,
                            eItemTypeElement itemType = eItemTypeElement.Element)
 {
 }
Пример #21
0
 public void JointAccelerationAbsolute(string name,
                                       eItemTypeElement itemType,
                                       ref string[] objectNames,
                                       ref string[] elementNames,
                                       ref string[] loadCases,
                                       ref string[] stepTypes,
                                       ref double[] stepNumbers,
                                       ref Deformations[] accelerations)
 {
 }
Пример #22
0
 public void GetLoadTemperature(string name,
                                ref int numberItems,
                                ref string[] names,
                                ref string[] loadPatterns,
                                ref eLoadTemperatureType[] temperatureLoadType,
                                ref double[] temperatureLoadValues,
                                ref string[] jointPatternNames,
                                eItemTypeElement itemType = eItemTypeElement.Element)
 {
 }
Пример #23
0
 public void AreaStressPlane(string name,
                             eItemTypeElement itemType,
                             ref string[] objectNames,
                             ref string[] elementNames,
                             ref string[] pointNames,
                             ref string[] loadCases,
                             ref string[] stepTypes,
                             ref double[] stepNumbers,
                             ref Stress[] stresses)
 {
 }
Пример #24
0
 public void GetLoadGravity(string name,
                            ref int numberItems,
                            ref string[] names,
                            ref string[] loadPatterns,
                            ref string[] coordinateSystems,
                            ref double[] xLoadMultiplier,
                            ref double[] yLoadMultiplier,
                            ref double[] zLoadMultiplier,
                            eItemTypeElement itemType = eItemTypeElement.Element)
 {
 }
Пример #25
0
        /// <summary>
        /// Gets the area stress shell layered.
        /// </summary>
        /// <param name="app">The application.</param>
        /// <param name="name">The name.</param>
        /// <param name="itemType">LoadType of the item.</param>
        /// <returns>List&lt;Tuple&lt;ObjectPointResultsIdentifier, LayeredShellStress&gt;&gt;.</returns>
        public static List <Tuple <ObjectPointResultsIdentifier, LayeredShellStress> > GetAreaStressShellLayered(
            IResults app,
            string name,
            eItemTypeElement itemType = eItemTypeElement.ObjectElement)
        {
            app.AreaStressShellLayered(name, itemType,
                                       out var objectNames,
                                       out var elementNames,
                                       out var pointNames,
                                       out var loadCases,
                                       out var stepTypes,
                                       out var stepNumbers,
                                       out var stresses,
                                       out var s13Avg,
                                       out var s23Avg,
                                       out var sMaxAvg,
                                       out var sAngleAvg,
                                       out var layers,
                                       out var integrationPointNumbers,
                                       out var integrationPointLocations);

            List <Tuple <ObjectPointResultsIdentifier, LayeredShellStress> > resultItems = new List <Tuple <ObjectPointResultsIdentifier, LayeredShellStress> >();

            for (int i = 0; i < loadCases.Length; i++)
            {
                ObjectPointResultsIdentifier identifier =
                    new ObjectPointResultsIdentifier
                {
                    LoadCase    = loadCases[i],
                    StepType    = stepTypes[i],
                    StepNumber  = stepNumbers[i],
                    ObjectName  = objectNames[i],
                    ElementName = elementNames[i],
                    PointName   = pointNames[i]
                };

                LayeredShellStress results = new LayeredShellStress
                {
                    Stress    = stresses[i],
                    S13Avg    = s13Avg[i],
                    S23Avg    = s23Avg[i],
                    SMaxAvg   = sMaxAvg[i],
                    SAngleAvg = sAngleAvg[i],
                    Layer     = layers[i],
                    IntegrationPointNumber   = integrationPointNumbers[i],
                    IntegrationPointLocation = integrationPointLocations[i]
                };

                resultItems.Add(new Tuple <ObjectPointResultsIdentifier, LayeredShellStress>(identifier, results));
            }

            return(resultItems);
        }
Пример #26
0
 public void FrameForce(string name,
                        eItemTypeElement itemType,
                        ref string[] objectNames,
                        ref string[] elementNames,
                        ref string[] loadCases,
                        ref string[] stepTypes,
                        ref double[] stepNumbers,
                        ref Forces[] forces,
                        ref double[] objectStations,
                        ref double[] elementStations)
 {
 }
Пример #27
0
 public void GetLoadPoint(string name,
                          ref int numberItems,
                          ref string[] names,
                          ref string[] loadPatterns,
                          ref eLoadForceType[] forceTypes,
                          ref string[] coordinateSystems,
                          ref eLoadDirection[] loadDirections,
                          ref double[] relativeDistanceFromI,
                          ref double[] absoluteDistanceFromI,
                          ref double[] pointLoadValues,
                          eItemTypeElement itemType = eItemTypeElement.Element)
 {
 }
Пример #28
0
        /// <summary>
        /// This function retrieves the deformation load assignments to elements.
        /// </summary>
        /// <param name="name">The name of an existing object, element or group of objects, depending on the value of <paramref name="itemType" />.</param>
        /// <param name="numberItems">The total number of deformation loads retrieved for the specified elements.</param>
        /// <param name="names">The name of the element associated with each deformation load.</param>
        /// <param name="loadPatterns">The name of the load pattern associated with each deformation load.</param>
        /// <param name="degreesOfFreedom">Indicates if the considered degree of freedom has a deformation load for each load pattern.</param>
        /// <param name="deformations">Deformation load values for each load pattern.
        /// The deformations specified for a given degree of freedom are applicable only if the corresponding DOF item for that degree of freedom is True.</param>
        /// <param name="itemType">If this item is <see cref="eItemTypeElement.ObjectElement" />, the load assignments are retrieved for the elements corresponding to the object specified by the <paramref name="name" /> item.
        /// If this item is <see cref="eItemTypeElement.Element" />, the load assignments are retrieved for the element specified by the <paramref name="name" /> item.
        /// If this item is <see cref="eItemTypeElement.GroupElement" />, the load assignments are retrieved for the elements corresponding to all objects included in the group specified by the <paramref name="name" /> item.
        /// If this item is <see cref="eItemTypeElement.SelectionElement" />, the load assignments are retrieved for elements corresponding to all selected objects, and the <paramref name="name" /> item is ignored.</param>
        /// <exception cref="CSiException"></exception>
        public void GetLoadDeformation(string name,
                                       ref int numberItems,
                                       ref string[] names,
                                       ref string[] loadPatterns,
                                       ref DegreesOfFreedomLocal[] degreesOfFreedom,
                                       ref Deformations[] deformations,
                                       eItemTypeElement itemType = eItemTypeElement.Element)
        {
            bool[] dof1 = new bool[0];
            bool[] dof2 = new bool[0];
            bool[] dof3 = new bool[0];
            bool[] dof4 = new bool[0];
            bool[] dof5 = new bool[0];
            bool[] dof6 = new bool[0];

            double[] u1Deformation = new double[0];
            double[] u2Deformation = new double[0];
            double[] u3Deformation = new double[0];
            double[] r1Deformation = new double[0];
            double[] r2Deformation = new double[0];
            double[] r3Deformation = new double[0];

            _callCode = _sapModel.LinkElm.GetLoadDeformation(name, ref numberItems, ref names, ref loadPatterns,
                                                             ref dof1, ref dof2, ref dof3, ref dof4, ref dof5, ref dof6,
                                                             ref u1Deformation, ref u2Deformation, ref u3Deformation, ref r1Deformation, ref r2Deformation, ref r3Deformation,
                                                             EnumLibrary.Convert <eItemTypeElement, CSiProgram.eItemTypeElm>(itemType));
            if (throwCurrentApiException(_callCode))
            {
                throw new CSiException();
            }

            degreesOfFreedom = new DegreesOfFreedomLocal[numberItems - 1];
            deformations     = new Deformations[numberItems - 1];
            for (int i = 0; i < numberItems; i++)
            {
                degreesOfFreedom[i].U1 = dof1[i];
                degreesOfFreedom[i].U2 = dof2[i];
                degreesOfFreedom[i].U3 = dof3[i];
                degreesOfFreedom[i].R1 = dof4[i];
                degreesOfFreedom[i].R2 = dof5[i];
                degreesOfFreedom[i].R3 = dof6[i];

                deformations[i].U1 = u1Deformation[i];
                deformations[i].U2 = u2Deformation[i];
                deformations[i].U3 = u3Deformation[i];
                deformations[i].R1 = r1Deformation[i];
                deformations[i].R2 = r2Deformation[i];
                deformations[i].R3 = r3Deformation[i];
            }
        }
Пример #29
0
 public void JointResponseSpectrum(string name,
                                   eItemTypeElement itemType,
                                   string namedSet,
                                   ref string[] objectNames,
                                   ref string[] elementNames,
                                   ref string[] loadCases,
                                   ref string[] coordinateSystems,
                                   ref eDirection[] directions,
                                   ref double[] damping,
                                   ref double[] percentSpectrumWidening,
                                   ref double[] abscissaValues,
                                   ref double[] ordinateValues)
 {
 }
Пример #30
0
        /// <summary>
        /// Gets the assembled joint mass.
        /// </summary>
        /// <param name="name">The name.</param>
        /// <param name="itemType">LoadType of the item.</param>
        /// <returns>List&lt;AssembledJointMass&gt;.</returns>
        public static List <AssembledJointMass> GetAssembledJointMass(string name, eItemTypeElement itemType = eItemTypeElement.ObjectElement)
        {
            _analysisResults.AssembledJointMass(name,
                                                itemType,
                                                out var pointElementNames,
                                                out var masses);

            return(pointElementNames.Select((t, i) => new AssembledJointMass()
            {
                PointElementName = t,
                Mass = masses[i]
            })
                   .ToList());
        }