SurfaceLoad.Deconstruct & Update Slab surface load [SOLVED]

Hi,
Can someone help me understand what ‘q1’, ‘q2’, and ‘q3’ represent, and how to update the applied surface loads on slabs after deconstructing?

  1. When I use ‘SurfaceLoad.Uniform’ to add new surface loads to an existing load case, I get confused about which outputs (q1, q2, q3) should be connected to the force vector.

  2. The values in the output ‘q1’, ‘q2’, and ‘q3’ are giving the opposite values than the applied surface values (-ve and +ve interchanged)

Hi @Arun_N_Dinesh

  • q1, q2, q3 are values which refers to the magnitude of the force in 3 specified points. In case of a uniform load, the values should be the same. In your case, you can probably use the q1.
  • In order to understand the negative value for q, I should see your script. Can you share a minimal script so that I can debug it?

Hi @MarcoPelle

  • Yes, I had the same assumption and used q3. However, I noticed there’s a mismatch in the load cases compared to the existing model. Could you please check the previous screenshot for reference?

  • Please find the attached FEM model and GH file for your understanding.

    1.Ramp Slab_Deconstruct&Update.gh (28.9 KB)

    Slab_Deconstruct.str (3.8 MB)

Hi!

Bit more specific what those load values in FEM-Design data-model means. q1,q2,3 are not load magnitudes at slab corners but vector scalar multiplication factors in three arbitrary 3D points. Those load vector magnitudes at 3 points defines surface from slab surface which defines 3D plane. distance from that 3D surface to slab surface defines load magnitude at each FE element inside load polygon. negative load magnitude means negative load compared to original load vector at that FE point. So load has: 1. vector and 2. scalar multiplication factor at 3 arbitrary points, 3. 3 pcs of points which corresponds those scalar values 4. polygon regions. So load vector can be pointing down but if surface what is defined with p1,p2 and p3 goes negative then resutl vector which goes to FE elements is pointing up.

Hi @Joni ,

Thank you for the explanation. I now understand that q1, q2, and q3 are scalar multiplication factors. However, I am still confused about how to modify the surface load (from SurfaceLoad.Deconstruct) and create a new or updated model?

Hi!

If you have Constant surface load and you deconstruct it it is very easy to constuct new with data from deconstructor. However if you have VARIABLE surface load it more difficult since DECONSTRUCTOR of surface load do not POSITIONS of scalar multiplication factors. Maybe marco can add them for you. or you use some logical way to define original loads so magnitude is given in 3 first corner points of shell element or so, they you can use 3 corner points of corresponding shell. Or you have a list of magnitude points you get from load original consructor. or you define magnitude points manually to list. or you use some short C# code snippet to extract magnitude points from XML file?

but here is simpler example how to read surface loads (constant) and do some matrix operations (sway y and x and maybe multiply lenght with value and add mofified loads to new model with path. Script itselft depends what you want to accomplish:

Sorry Arun Dinesh… now after answering I noticed that you have attached snippet of script. I look it later you cannot manage with these instructions.

Hi @Joni
Thank you for the responses.
My query is limited to the SurfaceLoad.Deconstruct output. I am working with a simple model that has a uniform surface load only.
My intention is to:

1.Update the numerical value of the surface load, while keeping all other parameters the same as in the existing model.

However, after using SurfaceLoad.Deconstruct, I noticed some discrepancies in the output data. Due to this, I am unable to reuse the load data after deconstruction.
Please refer to the snapshot below that highlights the discrepancy or let me know if I am misinterpreting the output in any way.

Hi @Arun_N_Dinesh

As you can see in the SurfaceLoad.Deconstruct output, every surface load has a LoadCase guid property. The guid is the unique identifier for our load cases. You can use a Key/Value search component to cross reference the guid with the right load case object. You can think at Key/Value Search as a LOOKUP method from Excel.

1 Like

Hi @Arun_N_Dinesh

The projected load condition returns false because of the LoadProjection input, when rebuilding the load.

The LoadProjection input corresponds to a True/False condition related to the intensity mode. You can read more about it here: Surface load (Load) - FEM-Design Wiki

Therefore, the Direction does not correspond to LoadProjection. The Direction defines the vector of the deconstructed load, while q defines its intensity. Consequently, the applied force should be calculated as Direction × q. If you want to modify the load intensity, you need to adjust q.

2 Likes

Hi @AndreiM & @MarcoPelle
It’s solved! Thanks for highlighting the missing parameters: “LoadCase.Deconstruct” and “Key/Value Search.” Now I’m able to get the same surface loads after deconstruction and also update the values.

1 Like