How to create a sub-model?

Hi,
New the forum, but have been using Mecway on and off for a few years now. Recently I have seen the need to creat sub-models based on data from a larger structure. Is this possible in Mecway, using the "transfer displacement" command, or in any other way? Any hints would be highly apprecitated.

Many thanks in advance.

Comments

  • edited April 2020
    Build your fine submodel in the same space as the coarse model, then delete all so that the only thing you have in the Mecway database is the fine mesh model and a node set called cutb. Add CCX custom stuff below. You will also need to set the Mecway options to write frd files to local directory if you don't already do that.

    You might have to run an older version of CCX, believe it or not I use 2.11 when I need submodels, because it stopped working around 2.14 or so - I have asked for a fix but no response.

    Use CCX CUSTOM for this, directions are in comments :

    In custom model definition:
    *** SUBMODEL
    *** coarse.liml and submodel.liml separate models, same geometric positions
    *** run coarse.liml
    *** build fine mesh submodel.liml and create node set cutb
    *** also need *BOUNDARY cmd referencing cutb node set in custom step definition

    *SUBMODEL,TYPE=NODE,INPUT= coarse.frd
    cutb

    in custom step contents:
    *** Used with SUBMODEL command in custom model definition
    *** command uses submodel mapped displacments 1-3 (x,y,z)
    *** applied to current submodel
    *BOUNDARY,SUBMODEL,STEP=1
    cutb,1,3
  • Thanks a lot JohnM!
    I will try that out, even though I think it's way above my current skill level, as I'm mostly using Mecway "as it is".
  • It's actually pretty straightforward and also a nice example of how to use CCX commands to get more out of Mecway.
  • Thanks again JohnM!
    I actually got some simple models to work, but as you mentioned, did only work with older ccx.exe (I used version 2.10)
  • There's some kind of format error in the newer versions, I think I'll try and resubmit the bug to Guido
  • Good news. Guido has informed me that CCX 2.16 has fixed the submodel issue, I just tested with pardiso216 and it worked perfectly.
  • Hi,
    trying sub-modeling on a more complicated model (using Mecway 13, ccx 2.16 pardiso which worked fine on simpler models) but keep getting this error message:

    ERROR in readfrd: The input file "coarse.frd" could not be opened.

    *ERROR in u_calloc: error allocating memory
    variable=ielemnr, file=getglobalresults.c, line=198, num=-1, size=4


    Anyone who have a clue? Seems like "coarse.frd" cannot be opened, the frd-file is approx 115MB, but I am not familiar with the ccx messages?
  • Models must have only volume elements, model and submodel must be same CCX version. If that's not the problem, I would try running in 2.10 or 2.11, to see if it's a new bug, other than that, it's time to submit to the Calculix forum.
  • "Problem" solved, garbage behind the keyboard - missed to add the configuration name (loadcase) to the file name in the custom model definition, e.g. "filename_LC1.frd"
  • edited April 2020
    That's great. I have to admit this thread forced a conversation with Guido, and I wouldn't have known about the fix in 2.16, so good for everybody
    You might check out the CCX command *INCLUDE. It allows you to point to a file as input (that in your case would include the submodel commands). If you use this in custom CCX input in Mecway, it gives you the ability to have a variable input (coarse model name) to your model.
    For example, you might have several coarse models, coarse_LC1.frd, coarse_LC2.frd... if your custom CCX uses the *include command, you could simply overwrite "input.dat" with updated pointer to different coarse models, and rerun mecway in batch.
    This is a good trick to know in general, not just for submodels.
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!