Calculation time "aplying constraints"

Hi all,

A question about solving time. I have a model with 208000 nodes (86000 elements). Solving the matrix takes about a few minutes and uses all cores in my pc. However, applying constraints takes about 2 hours and uses more or less 1 core. I have 6 bonded contacts, 1 force and 1 fixed support, applied at a total of 16000 faces.
Is it possible to speed things up?
I have disabled hyperthreading and energy saving options on my pc.

Thanks.
Eduart

Comments

  • If you work with the CCX solver there are three system variables that will let use n quantity of cores of your pc:

    • CCX_NPROC_STIFFNESS to create the element stiffness matrices in parallel
    • CCX_NPROC EQUATION_SOLVER to solve the system of equations
    • CCX_NPROC_RESULTS to create material tangent matrices and calculate the stresses at the integration points in parallel

    One thing that I have noted (I'm not sure, is just a feeling) is that in some cases the particular way that Mecway writes the boundary conditions (for some bc it doesn´t use groups of nodes but directlly for every node) takes longer times as if one would write it by hand.
  • The internal solver can be very slow when there are lots of constraints. If you can use CCX instead, that would be faster.

    Sergio - the inefficient writing of some BCs is a tradeoff in complexity of Mecway's code vs complexity of the resulting .inp file. Being correct is more important than looking elegant, so I left it at a point which seems to be fast enough most of the time. The complexities come from Mecway allowing more freedom in specifying BCs than CCX does. A common problem is multiple BCs of the same type on the same node - CCX doesn't always combine them properly so Mecway has to combine them itself, and that might lead to different values for some nodes so they can't share a single node set. Ideally, it would check for simple cases and write these in a more compact way but more modes of operation are more difficult to get right.
  • Thanks for the answers.

    I'm trying to use CCX solver. Two questions:
    1. I've got some errors about tri-elements not being allowed with shell elements; For now I've deleted them to move on, but how to avoid tri-elements in generating my meshes (from .step)?
    2. Now I get this warning and error:

    *WARNING reading *STATIC: a nonlinear analysis is requested
    but no time increment nor step is specified
    the defaults (1,1) are used

    *ERROR in gen3dforc: applied
    moment in node 98557

    and direction 5
    has a significant
    component along the drilling
    direction; this is not
    allowed

    I'm not sure what the error means, I've only applied a force, not a moment on my parts. What to do?
  • 1. CCX can use tri3 elements for shells, but don't because they're not very accurate. Use tri6 instead (Quadratic elements in Meshing parameters).
    2. The warning is normal for nonlinear analysis without the quasi-static option turned on.

    The error is probably caused by loads on shell faces, which sometimes include a moment due to the distance between the face of the element and its midplane. Unfortunately, for curved shells especially, this moment sometimes has a tiny component in the normal direction which causes CCX to fail. The workaround is usually to use a different kind of load that doesn't apply moments, such as uniform normal pressure, or force on nodes instead of faces
  • Force on nodes does the trick, thanks!

    Now I've run the simulation. It seems it solves it, but I don't see any results. Looks like the simulation has no components in it? What's wrong?
  • It looks like CCX crashed. I think that can happen with a too big model but also for other reasons. You might need to reduce the number of nodes or at least eliminate parts to identify what causes the failure.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!