C# stress lines

Hi,
i am working on a seeding method to find evenly distributed principal moment lines. Since this requires iteration i need to calculate the principal moment lines in c#. But i cant get my head around the PrincipalMomentLines Method.

  • How to define the source for the pricipal moment line by using points and not lines.
  • Utils.VectReal doesnt work
  • Type Surface3DVecEvalStrategy does not exist
  • i dont understand the out res at all. what does List<List<List<List>>> res mean?

Thanks in advance

Hi @Thomas,
in k3D Version 3 (see here), the signature of the method looks like this:

Karamba.Results.PrincipalMomentLines.solve(Model model,
LoadCase lcSuperImp,
List lines,
double dLtol,
double dAtol,
int max_iter,
out List<List<List<List>>> princ_lines_res)

Here the meaning of the parameters:
“model”: model with calculated displacements.
“lcSuperImp”: factors for load-case super imposition.
“lines”: list of lines that intersect the shell an thus define the source of a principal moment line.
“dLtol”: approximate length of the segments of the principal moment lines.
“dAtol”: approximate maximum angle between the segments of the principal moment lines [rad].
“max_iter”: maximum number of iterations for constructing a principal moment line from vertex values.
“princ_lines_res”: first and second principal moment lines. List-structure: 1/2princ moment/Line/branch/segment.

If you want to use points for defining the source point of principal moment lines use the surface normal and construct a short line from the point the intersects the mesh.

Regarding the princ_lines_res output:

  • The outermost list contains two lists with the lines for first and second principal moments respectively.
  • Each of the previous lists contains lists for each source-point.
  • Each of the previous lists contains one or two lists for the lines on each side of the source point
  • Lastly each of the previous lists contains the line segments.

– Clemens