Ankündigung

Einklappen
Keine Ankündigung bisher.

displacements output on the whole finite-element mesh via RF-COM interface

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • displacements output on the whole finite-element mesh via RF-COM interface

    Hello,
    I'm trying to obtain, with the RFEM5 COM api, all the nodal displacements for a given load case, via a VB script inside excel.
    I'm especially interested in getting displacements in all the FE MESH nodes.
    The following script works properly but outputs the displacements ONLY on the "model" nodes, and not the displacements in the "internal" nodes that are generated during meshing.
    My question is the following: how can I have access to the whole mesh displacement data?

    Code:
    '------------------
    Sub GetNDInFENodes()
    
        Range("A3:D3000").ClearContents
        
        Dim model As RFEM5.model
        Set model = GetObject(, "RFEM5.Model")
        model.GetApplication.LockLicense
        
        On Error GoTo e
        
        Dim results As IResults
        Set results = model.GetCalculation.GetResultsInFENodes(LoadCaseType, common.GetSelectedLoadType)
        
        Dim deformations() As NodalDeformations
        deformations = results.GetAllNodalDeformations()
        
        Dim r, pos As Long
        pos = 3
        
        For r = 0 To UBound(deformations)
            Cells(pos, 1) = deformations(r).NodeNo
            Cells(pos, 2) = deformations(r).Displacements.X
            Cells(pos, 3) = deformations(r).Displacements.Y
            Cells(pos, 4) = deformations(r).Displacements.Z
            pos = pos + 1
        Next
        
    e:  If Err.Number Then MsgBox Err.Description, , Err.Source
        
        Set results = Nothing
        model.GetApplication.UnlockLicense
        Set model = Nothing
    
    End Sub
    '------------------
    Thank you,
    Andy

  • #2
    Hello Andy,

    the method GetAllNodalDeformations gives back all Deformations of nodes and not of the surfaces FE-Mesh points.
    If you want the displacement of the surface FE-Mesh points, please use the following method for surface 1:

    deformations = results.GetSurfaceDeformations(1, AtNo, True)

    Best Regards
    Thomas
    Support Team der
    Dlubal Software GmbH
    info@dlubal.com
    https://www.dlubal.com

    Kommentar


    • #3
      OK, thank you, understood.
      The approach of separating the deformations based on the element type (node, member, surface, solid) is rather unusual if compared to standard FEA software (usually the displacement field is a vector field defined on all the mesh nodes, independently of the element, being the direct result of the "K.u=f" structural problem). Clearly internal efforts, stresses (...etcetera) are defined based on the element type (being obtained after further postprocessing), but not the displacement field.
      Anyway, I see no problem with your (i.e. dlubal) approach.

      Thank you again,
      Andy.

      Kommentar

      Lädt...
      X