recent version has new feature in defining spring element at node and surface, this feature are common in many other FE packages. however PrePoMax is little bit different at implementations.
common units in spring stiffness depending object type attached and value of subgrade modulus. Modulus of subgrade reactions has a units of pressure/deflection (e.g kPa/m = kN/m2/m = kN/m3)
node, force per length(deflection) directly e.g kN/m
line, subgrade modulus times beam width e.g kN/m3*m=kN/m2
surface, subgrade modulus e.g kN/m3
this is long feature to comparable with Abaqus Foundation Keywords discussed by: Stefan, Victor, me, Ccx4win and Guido. i took some preliminary benchmark & verifications in the past also (attached PDF docs).
I must say that I never used line-based or surface-based springs so the units are not familiar to me. But I know that some codes use force/displacement/area for the surface spring stiffness. For me, that is a strange unit and it is always hard to “guess” the value of the stiffness correctly. That is why I used the unit force/displacement which seems more practical to me. It is similar to surface traction which has a unit of force and not force/area in PrePoMax.
But if there are good reasons to change it, I can be done.
of course units of spring is force/length (e.g kN/m) however for simplification it depend on object type attached.
node:
assign as stiffness (e.g kN/m) and no further processing for CalculiX solver since spring attached to nodes directly.
line/beam:
assign as stiffness per length (e.g kN/m/m = kN/m2) and required further processing with multiplied by it’s tributary length (sum of half of beam length at nodes adjacent).
surface/shell or solid faces:
assign as stiffness per area (e.g kN/m/m2 = kN/m3) and required further processing with multiplied by it’s tributary area (sum of quarter areas of surfaces at nodes adjacent).
Abaqus also implement the features with special function using *Foundation keywords so the user does not required to define and calculates manually of each spring stiffness attached to nodes.
many thanks for implementation. theoretically it should be equivalent with Abaqus *Foundation keywords, PrePoMax is required the user to pre-calculates of total of spring stiffness (F/L). this value is based on stiffness per area multiplied by the total of area itself.
try to understand and clarify, i took a simple test cases. however the results are bit different, need me to seek further about the causes.
once more, thank you for implemented another approach of Abaqus foundation keywords in CalculiX trough PrePoMax. now defining spring units based on stiffness per area or length become optional, but it’s preferred for familiarity with Abaqus or many other FE packages.
Ok, I think I see one reason. If the spring support is used for something like a foundation then I would assume that foundation stiffness is something that is a known property of the foundation “material”. And when a part of the structure is in contact with the foundation it should not matter how large the area in contact is. From that point of view, a better unit would be force/displacement/area.