Simulation Mechanical Forums (Read-Only)
Welcome to Autodesk’s Simulation Mechanical Forums. Share your knowledge, ask questions, and explore popular Simulation Mechanical topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Submodelling

18 REPLIES 18
SOLVED
Reply
Message 1 of 19
EngineerMickeyMouse
771 Views, 18 Replies

Submodelling

Greetings.

 

Would like to ask how to perform submodelling in Simulation 2015, it is how to auto apply prescribed displacements from the parent model to the submodel at the cut boundary?

18 REPLIES 18
Message 2 of 19
Anonymous
in reply to: EngineerMickeyMouse

This is a good question, I hope someone responds.

Message 3 of 19
EngineerMickeyMouse
in reply to: Anonymous

Like calling 911, I believe I might call for help professional assistance, called @AstroJohnPE .

 

John, I would appreciate you help, as always you have provided us with great/practiced methods or workarounds to achieve the goal.

Message 4 of 19

I'm waiting for someone to reply with an answer, too. Smiley Happy

 

I'm not aware of any automated way to do submodeling. Autodesk did a webinar where they used a beam model for the full structure and transferred the displacements and rotations to a submodel. See "How to do submodeling in Simulation Mechanical" in the Knowledge Network.

 

I was starting a nice procedure that used "Loads from file" to transfer the displacements of the full model made with bricks to a brick submodel. Unfortunately, nodal prescribe displacements are not nodal loads in a linear static analysis (they are elements!), so displacements cannot be applied using "Loads from file".

 

I think the first step is to determine whether forces should be transferred from the full model to the submodel, or should displacements be transferred? Which method is more accurate? Once that is determined, the method of accomplishing the transfer can be determined.

Message 5 of 19

Thanks for contribution !

 

Well, I believe the most sound method is to transfer displacements, simply because these have exact values (this statements has some simplifications used), no matter the mesh size.

 

Nevertheless I would be happy if you could provide Ideas for a) displacement tranfser and b) forces transfer. For solid global model to solid submodel in both cases.

Message 6 of 19

Yes!  It is possible to perform sub-modeling using Simulation Mechanical software 🙂 

 

The process is not entirely simple though, as it is not supported in a friendly way from the interface 😞

 

This process collects the displacements from an analyzed "master" model, and transposes those displacements to a "submodel" which may be a portion of the "master" and may have a different mesh.

 

One then applies boundary elements if the analysis type is linear static stress, or prescribed displacemets if the analysis type is MES or non-linear static.  These "special" boundary conditions would be defined with unique magnitudes which could be easily found among all the other boundary conditions that might be applied to the "submodel".

 

Here is the basic idea.  Master model analyzed, but its features are generalized.  A submodel is created, loaded and "Checked" into the Results Environment.  This action creates the finite element model.  The executable "ndxmap.exe" would be run between the two models.  This executable comes with the Simulation Mechanical software.  It is used as part of the automated process of trasnposing results from one mesh to another.  We will exploits its capabilities for our purpose... a purpose for which it has been designed to do.

 

We then run a VBA macro embedded within an Excel spreadsheet.  This application will open the FEM file, and gather all the "special" boundary conditions marked with our unique magnitudes, gather their locations, then collect the displacements from the "Checked" submodel for which we ran ndxmap.exe on and replace the "dummy" boundary elements/prescribed displacements with new valid ones.  We can then open our modified model, add or remove any additional boundary conditions and run from the interface.

 

Okay... that was the short description... now for the long and detailed desciption and supporting files.

 

The process to perform a sub-modeling analysis is as follows: First, a "master" fea model is created.  This model represents the geometry in a general way and is free from the burden of the geometry details, such as filets and rounds.  The master finite model is loaded and analyzed and displacement and stress results are produced.  These "master" finite element displacement results will be used as a basis for sub-modeling analyses. Next, a sub-model finite element model is created which is a portion of the larger "master" model, but may contain additional geometry detail, such as filets or rounds and a finer mesh size.  This model is prepared and meshed, then "Checked" into the Results Environment.  This action creates a finite element model of the sub-model.

 

The next step is to transpose the displacement results from the "master" analyzed finite element model to the unanalyzed "sub-model".  This is accomplished by running the "ndxmap.exe" command line program, which is part of the Simulation Mechanical or Multiphysics software installed to your computer.  To provide clear instructions, we will need to make some assumptions as to where the master and sub-models reside as well as the version of software installed to your computer. 

 

We will assume that the master model is named "Master.fem" and has 1 design scenario and is saved to the "C:\Test" directory.  Also, the "Sub-model" is name "Submodel.fem" and is located in the same directory.  We will also assume that you are using the Simulation Mechanical 2014 software. Access "START|ALL PROGRAMS|ACCESSORIES" then right-click on "Command Prompt" and choose "Run as administrator", which will open the command prompt.  Next, from the command prompt, type:

 

                cd C:\Test

 

Then choose the <Enter> key on your keyboard.  This action will change the directory of the command prompt to the "C:\Test" directory.  Next, type the following to transpose the displacement results:

 

                "C:\Program Files\Autodesk\Simulation 2014\ndxmap.exe" "C:\Test\Master.ds_data\1\ds.do" "C:\Test\Submodel.ds_data\1\ds"

 

Choose the <Enter> key on your keyboard to run the program which will transpose the displacement results from the master model to the submodel.  The “ndxmap.exe” program will work best if the sub-model’s part numbers match those for the same volumes in the “Master” model.  This action will create the "C:\Test\Submodel.ds_data\1\ds_map.do" file, which should be renamed to "C:\Test\Submodel.ds_data\1\ds.do".  Once this step has completed, you can choose to view those transposed displacement results from the Results Environment. Choose to open the "Submodel.fem" file then copy the first design scenario to create the second design scenario.  Now, we would like to select the surfaces of the submodel that would have been in contact with the larger "master" model.  Once all of those surfaces have been selected, right-click and choose to select sub-entities, then Vertices.  With all those vertices selected, right-click and choose to add displacement boundary elements.  Define the magnitude to equal "123" and define the direction such that X=0.1, Y=0.2, Z=0.3 and the stiffness equals 1e10.  Choose "OK", then apply any additional loads and boundary conditions to the model. 

 

The next step will require running a VBA application from Excel, which will find all the vertices which have displacement boundary elements applied that have a magnitude of "123", then find the corresponding nodes and their displacements from the first design scenario of the sub-model and replace the dummy displacement boundary elements with new X, Y and Z displacement boundary elements.  Once this has been completed, the model can be re-opened and analyzed.

 

To run the VBA application, one will first need to alter your computer's "PATH" environment variable.  This can be accomplished by accessing "START" on your desktop, then right-clicking on your computer name and choosing "Properties".  Choose "Advanced system settings" from the left margin, then choose the "Environment Variables" button.  Select "Path" from the "System Variables" and choose the "Edit" button.  Go to the end of the variable value, and type the following:

 

                ;C:\Program Files\Autodesk\Simulation 2014\

 

Then choose "OK" to accept this change then "OK" again to close the windows. One can now open Excel, then open the previously provided "SubModeling_rev4.xls" file.  Access the "View" ribbon then choose to View Macros.  Choose to "Edit" the "UpdateDisplacementBoundaryElements" macro, then edit the value below from:

 

                strFileName = "C:\Support\TommyBreaux\SubModeling_12-6-13\Brack_Web_Section.fem"

To

 

                strFileName = "C:\Test\Submodel.fem"

 

Access the "Run" pull-down menu and choose "Run".  This action will begin the update of displacement boundary elements in your model.  It will be important that this model was closed before attempting to run this macro.  When finished, a pop-up window will appear indicating the task has been completed.  You can then close the VBA editor and the Excel spreadsheet and re-open the "C:\Test\Submodel.fem" file in the Simulation Mechanical software.  You can then run the analysis in the 2nd design scenario and view the results.

 

The attached Excel VBA macro will detect the analysis type then apply the displacements from a previously analyzed static stress analysis model to the new sub-model as boundary conditions. The accepted analysis types for the new sub-model are:

 

                Static Stress with Linear Material Models

                Linear Mode Shapes With Load Stiffening

                Linear Critical Buckling

                MES

                Non-Linear Static Stress

 

You will follow the instructions a previously provided, except, that when working with the sub-model, after you have run "ndxmap.exe" to transpose the displacements from the "Master" model to the newly "Checked" "Sub-model", you will then open the model within the Simulation Mechanical software, right-click on the analysis type and change to one of those listed above.  This action will create a new design scenario.  That new design scenario would be enumerated within the VBA code embedded in the Excel macro under the value "lNewModDesignScenario". The new macro will detect the analysis type and either create displacement boundary elements if the analysis type is static stress, modal with load stiffening or critical buckling, or it will add prescribed displacements if the analysis type is MES or non-linear static. The non-linear varieties require that dummy prescribed displacements be added to the vertices of the cut planes such that the magnitude equals "123". Please review the macro and let me know if you have further questions. 

Pat Tessaro, P.E.
Premium Support Specialist – Simulation

Autodesk, Inc.
6425 Living Place
Suite 100
Pittsburgh, PA 15206
Message 7 of 19

Great response, @PipePakPat , thanks !

 

This however, will be the beginning of the discussion. I have few questions to clear what is unclear. But first things first, could you please answer few of my queries below?

 

1. Is your instruction valid for 2015 and 2016 versions;

2. Once you define "123" temporal displacements, you also put stiffness of 1e10, how is this stiffness influencing the model/excel file and is this 1e10 value dependent on current FEA model units set;

3. The most important question - ndxmap works best once part numbers are same for master and sub models. Nevertheless part names, please explain to me how come that submodel "knows" where is it placed in reference to global master model, should vertices have same numbers ? It is clear what surfaces are boundary at submodel since you select them manually, but how the ndxmap knows to which vertices refer on the master model?

Message 8 of 19

Hello @EngineerMickeyMouse,

 

I will answer your questions in order.

 

1. Is your instruction valid for 2015 and 2016 versions?

Yes, my instructions are valid for Autodesk Simulation versions 2015 and 2016 even though my example demonstrated the use of Autodesk Simulation 2014.  In fact, this process should work with older versions as well.  I would recommend to follow the instructions using the version installed to your computer to verify.  This is what I did this morning using the 2016 version.

 

2. Once you define "123" temporal displacements, you also put stiffness of 1e10, how is this stiffness influencing the model/excel file and is this 1e10 value dependent on current FEA model units set;

For my example model (Brack_Web_Section.fem), I had three design scenarios.  The first design scenario was simple the new geometry which was "Checked" into the Results Environment to provide a destination database for the displacment field transposed from the "Brack.fem" model by the "ndxmap.exe". 

 

The second design scenario contained a "Static Stress with Linear Material Models" model, for which displacement boundary elements are used to impose displacements on the model.  These were recently renamed to "Nodal Prescribed Displacements" which is consistent with our MES and Non-linear analysis types, but the mechanism is in fact different.  The linear stress analysis uses the penalty method, where the decoder adds elements to the model at these boundary conditions for which the free ends of these elements are displaced by the amount defined by the user.  The "enforcement" of these displacements is a function of the "stiffness" imposed by the user.  The higher the stiffness, the more likelihood these displacements will be imposed 100%.  If the stiffness is too small, then the displacements will not be imposed 100%.  If we make the stiffness too large, then all of the results in the analysis may be shifted from reality.  For these reasons, it is important to use a stiffness that is proportional to the models's stiffness.  There is a method of arriving at a stiffness, but through the years, we have found that using a default stiffness of 1e10 works well for most models, independant of the units system.  For our purposes, we want the displacement to be enforced and we want to reduce the complexity to this already complex process, so we use 1e10.

 

The third design scenario is an MES analysis.  The non-linear analyses use a different method to enforce displacements than the linear analyses.  For this reason, we don't define a stiffness... only the magnitude and direction.  The benefit of performing the non-linear analysis is that we can consider non-linear materials for our submodel, or consider the effects of geometric non-linearities.

 

3. The most important question - ndxmap works best once part numbers are same for master and sub models. Nevertheless part names, please explain to me how come that submodel "knows" where is it placed in reference to global master model, should vertices have same numbers ? It is clear what surfaces are boundary at submodel since you select them manually, but how the ndxmap knows to which vertices refer on the master model?

The answer to this question is that as the user, we have complete freedom from specific part numbers or part names.  The process I have outlined is not dependant on part numbers.  Instead, it is dependant on element volumes and displacement fields.  What do I mean by this?

 

The sub-model must reside within the master models' volume in space.  It must also be oriented correctly, such that if both the master and submodels were opened within the same environment, one would be superimposed onto the other.  This is the requirement of this process.

 

The "ndxmap.exe" will create searching tree in memory (kd-Tree) based on the nodal coordinates of all elements in the master model.  The contents of this search tree contains the displacement results of the master model.  The "ndxmap.exe" then searches for each node of the sub-model in this tree, to find which element volume that sub-model node resides, then interpolates that displacement on to the sub-model.  There are also smart functions for nodes that lie outside of the master model's volume.  This process was originally created so that heat transfer nodal temperature results could be mapped to static stress analysis models having different mesh densities, then expanded to support different part numbers as well as supporting other nodal results.  This aspect of this process is the most complicated and it is satisfied with this program.  All of this makes it possible for use to write and use a program to coordinate our dummy load at a known vertex having x,y,z coordinates, then match those to the nodal coordinates within our trasposed results on the submodel.  We do this because there is a difference between a "vertex" within the FEA Editor, and a "node" within the Results Environment which is a function of the decoded finite element model.

 

Additional Note: As you use the macro embedded within the Excel spreadsheet, you may experience a problem.  Any problem may be attributed to the macro not finding additional files needed to perform its function.  These files reside within the Autodesk Simulation installation directory.  I resolve these problems by opening a command prompt, then typing the following:

 

    Set PATH=%PATH%;C:\Program Files\Autodesk\Simulation 2016\

 

Then choosing the <Enter> key on the keyboard, then typing the following:

 

    "PathToExcelFile\SubModeling_rev4.xls"

 

Where "PathToExcelFile" is the actual path to the directory containing our "SumModeling_rev4.xls" file.  Choosing the <Enter> key will open our Excel file so that it can "see" the files located in the Autodesk Simulation installation directory used by the program and will function correctly.

 

Please let me know you have additional questions or comments regaridng this utility 🙂

 

Pat Tessaro, P.E.
Premium Support Specialist – Simulation

Autodesk, Inc.
6425 Living Place
Suite 100
Pittsburgh, PA 15206
Message 9 of 19

@PipePakPat After some break I am getting back to Sub-Mod subject.

Frequently I have seen on this forum, Autodesk Support Representatives prepare and attach video walkthrough. Could you provide one for this important case of submodelling? If not, maybe you could delegate one person from Support to assist with the task?

Message 10 of 19

Hello EngineerMickeyMouse,

 

I'm glad you are interested in the sub-modeling example I provided.  I have attached a ZIP file, containing a renamed MP4 file which was recorded some time ago, while using a 2D example model.  It demonstrates the basic premise and work-flow as well as the expected results. 

 

You will need to extract the contents of the zip file, rename the "Submodel_mp4.txt" file to "Submodel.mp4". 

 

Please let me know if you have further questions regarding this process.

 

Pat Tessaro, P.E.
Premium Support Specialist – Simulation

Autodesk, Inc.
6425 Living Place
Suite 100
Pittsburgh, PA 15206
Message 11 of 19

@PipePakPat Welcome Back !

 

I have performed as per your instruction and faced some issue.

While displacements are correctly passed to the submodel, vMises looks wrong, please see screen capture below.

 

Any idea what should I amend? Please let me know.

 

Untitled.png

 

 

Message 12 of 19

Hello @EngineerMickeyMouse,

 

I see your image and see that the peak stresses oscillate across the boundaries.  I have created a fine mesh version of the same model but do not get the same results as you do.  My thoughts are these.  This process is not simple, so steps can be mistakenly skipped which may result in unexpected results.  Each time a model is re-meshed, one must remove the old prescribed displacements/boundary elements.  Then re-apply new prescribed displacements at the vertices of the cut faces.  The model is to be "Checked" to create a new finite element database.  The "ndxmap.exe" needs to e re-run between the source, analyzed model and the newly "Checked" finite element database.  This action creates the displacement field from which the prescribed displacements are updated.  Next, use the provided macro to reference those displacements for application into the prescribed displacements.  Re-open the FEM file and analyze the new design scenario.

 

Some of the steps I encountered which could cause problems.

  • forgetting to run ndxmap.exe will result in a model for which only "Some" of the prescribed displacements are updated
  • forgetting to rename the ds_map.do to ds.do after running ndxmap.exe
  • forgetting to delete the old prescribed displacements will not properly update, since only those prescribed displacements having magnitude of 123 or rotations having 456 will be updated
  • forgetting to define the stiffness for the initial prescribed displacements of 1e10

Feel free to provide the exact details of the steps you have taken if none of these suggestions resolve your issue.

 

Pat Tessaro

Autodesk Inc.

Pat Tessaro, P.E.
Premium Support Specialist – Simulation

Autodesk, Inc.
6425 Living Place
Suite 100
Pittsburgh, PA 15206
Message 13 of 19

I double checked if I follow instructions, I think I am doing it right. Please note displacement is correctly passed to submodel, while stress is not correctly calculated.

 

Thanks for your help...

Could you please screen my details steps below?

 

1. File.fem Design Scenario 1 (DS1): Static linear, 3 parts merged, checked and calculated correctly.

2. Copy DS1 to create DS2. Deleting mesh, loads and constraints. Suppressing two parts, only one for submodelling purposes left. New mesh created and model checked.

3. Closing File.fem.

4. Run CMD, type "path/Simulation 2015/ndxmap.exe" "path/File.ds_data/1/ds.do" "path/File.ds_data/2.ds", hit ENTER app process completed correctly, without any error.

5. Change filename from ds_map.do to ds.do.

6. Open File.fem, open DS2, selection of vertices adjacent to suppressed parts, confirming inch units selected, adding to those vertices displacement with magnitude 123, and vector X 0.1, Y 0.2, Z 0.3, with stiffness 1E10. Save and close file.

7. Run Excel, edit macro, change part of line with strFileName = "path/File.fem" and input 1OldModDesignScenario = 2 and 1NewModDesignScenario = 2. Run Macro.

8. Open Fem.file, run analysis for DS2 and here I am.......

 

 

Message 14 of 19

Hello @EngineerMickeyMouse,

 

The steps you described seem to be appropriate.  Perhaps you could upload and archive of your model with results.  This will give me a chance to see if I get the same results as you do with the model you are using.  I do realize that you are using the model I provided to you, but it is not clear from our discussions what may be the source of this difficulty.  Reviewing your model and log files may provide clarity.

 

Pat

Pat Tessaro, P.E.
Premium Support Specialist – Simulation

Autodesk, Inc.
6425 Living Place
Suite 100
Pittsburgh, PA 15206
Message 15 of 19

Zip attached.

I tried various scenarios. Neither works.

Message 16 of 19

Hello @EngineerMickeyMouse,

 

I have examined this issue and have found that the "ndxmap.exe" nodal results mapping utility is (for this model specifically) performing a node result match to the closest adjacent node.  This means that the instead of interpolating the displacement results between source model nodal locations, it is using the closest neighbor's result directly.  I am looking into this utility at the moment and will forward my findings.

 

It should be noted that this utility does interpolate other results, such as temperatures and CFD results correctly, but in this special case when mapping displacements from one mesh to another, the utility is behaving differently.

 

Here is an image of a line of nodes and how one set of results changes from one location to the next based on the new model's finer mesh density in comparison to the original model's coarse mesh density.  One will see that for the finer meshed line, superimposed over the original coarsely meshed line, that the nodal displacements step from one value to another as their distance changes.  These would suggest that the stresses in elements between nodes demonstrating the step in displacements would be unrealistically high.  One could simply hide these edge elements so that the model stress results become more realistic, however, I do realize this is not expected behavior.  I will forward my findings as soon as I can.

 

 

Pat Tessaro, P.E.
Premium Support Specialist – Simulation

Autodesk, Inc.
6425 Living Place
Suite 100
Pittsburgh, PA 15206
Message 17 of 19

Pat,

 

Thank you for your input.

Unfortunately it is not efficient behaviour and all displacements should be interpolated correctly.

 

Hope you will manage to make this utility working for structural submodelling purposes.

Please update me asap if you will have some solution or workaround.

 

Regards!

Message 18 of 19

Hello @EngineerMickeyMouse,

 

I have reviewed this issue thoroughly and can now confirm that the "ndxmap.exe" created by Autodesk Development will interpolate for all nodes for 2D and 3D element types.  However, for the following list of element types, the closest neighbor matching is used exclusively for mathematical reasons:

  • LSS Truss
  • LSS Beam
  • LSS Plate
  • MES Truss
  • MES Beam
  • Thermal Plate
  • Thermal Rod

In my original example, I used 2D elements, which is why my example demonstrated accuracy and improved results.  In your example, you used plate elements, which are limited to the closest neighbor result matching.  I converted your model to use 2D elements and repeated the process and confirmed the results interpolation was correct and the results were improved satisfactorily.

 

I feel confident that no change will be made to the nodal results mapping utility to include plate elements into the interpolation matching scheme.  Please only use the "ndxmap.exe" nodal results mapping utility for 2D and 3D element parts if you would like interpolation to be used.  Feel free to let me know if you have further questions or comments regarding this issue.

 

 

Pat Tessaro, P.E.
Premium Support Specialist – Simulation

Autodesk, Inc.
6425 Living Place
Suite 100
Pittsburgh, PA 15206
Message 19 of 19
jrank
in reply to: PipePakPat

test

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report