/// <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);
        }
Example #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());
        }
Example #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)
 {
 }
Example #4
0
 public void GetConstraint(string name,
                           ref int numberItems,
                           ref string[] pointNames,
                           ref string[] constraintNames,
                           eItemTypeElement itemType = eItemTypeElement.Element)
 {
 }
Example #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());
        }
Example #6
0
 public void AssembledJointMass(string massSourceName,
                                string name,
                                eItemTypeElement itemType,
                                ref string[] pointElementNames,
                                ref string[] massSourceNames,
                                ref Mass[] masses)
 {
 }
Example #7
0
 public void GetLoadRotate(string name,
                           ref int numberItems,
                           ref string[] names,
                           ref string[] loadPatterns,
                           ref double[] rotateLoadValues,
                           eItemTypeElement itemType = eItemTypeElement.Element)
 {
 }
Example #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)
 {
 }
Example #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)
 {
 }
Example #10
0
 public void PanelZoneDeformation(string name,
                                  eItemTypeElement itemType,
                                  ref string[] elementNames,
                                  ref string[] loadCases,
                                  ref string[] stepTypes,
                                  ref double[] stepNumbers,
                                  ref Deformations[] deformations)
 {
 }
Example #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)
 {
 }
Example #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)
 {
 }
Example #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)
 {
 }
Example #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)
 {
 }
Example #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)
 {
 }
Example #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)
 {
 }
Example #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)
 {
 }
Example #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)
 {
 }
Example #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)
 {
 }
Example #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)
 {
 }
Example #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)
 {
 }
Example #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)
 {
 }
Example #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)
 {
 }
Example #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)
 {
 }
        /// <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);
        }
Example #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)
 {
 }
Example #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)
 {
 }
Example #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];
            }
        }
Example #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)
 {
 }
        /// <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());
        }