FEM SolverMystran: Difference between revisions

From FreeCAD Documentation
(added usage)
(added limitations)
Line 79: Line 79:
# Click the {{Button|Write}} button.
# Click the {{Button|Write}} button.
# Click the {{Button|Run}} button.
# Click the {{Button|Run}} button.

==Limitations==

* Currently, only displacements are available as contour plots from analyses with this solver. To see the stresses, switch to hfcMystran workbench, open your case and its f06 file. pyNastran GUI can be used to plot all the results.


==File function== <!--T:7-->
==File function== <!--T:7-->

Revision as of 12:11, 10 July 2024

Other languages:

This documentation is not finished. Please help and contribute documentation.

GuiCommand model explains how commands should be documented. Browse Category:UnfinishedDocu to see more incomplete pages like this one. See Category:Command Reference for all commands.

See WikiPages to learn about editing the wiki pages, and go to Help FreeCAD to learn about other ways in which you can contribute.

FEM SolverMystran

Menu location
Solve → Solver Mystran
Workbenches
FEM
Default shortcut
S M
Introduced in version
0.20
See also
FEM tutorial

Description

The SolverMystran command enables usage of the MYSTRAN solver. It may be used for:

  1. Setting analysis parameters.
  2. Selecting working directory.
  3. Running the MYSTRAN solver.

Installation

Windows

You can get the Mystran executable here. Put the folder where you place Mystran.exe (the executable must have this exact name - remove the remaining part of the default name) in the Windows PATH variable or just place the file in the FreeCAD\bin folder. If necessary, specify it under Preferences → FEM → Mystran.

The SolverMystran also needs two other packages:

pyNastran can be installed through pip:

  1. Open a Command terminal in your FreeCAD\bin folder.
  2. Enter: python -m pip install pyNastran
  3. It will be installed in the FreeCAD\bin\lib\site-packages folder.

hfcMystran can be downloaded from its github site as a zip file (Code → Download ZIP). Unzip it and place it in the FreeCAD\Mod folder.

Linux

Linux installation procedure is similar but there are some differences.

After downloading the Mystran executable, rename it as explained above, allow it to be executed (right-click → Properties → Permissions → Allow executing file as program) and put it in the usr/bin directory of FreeCAD.

To install pyNastran, enter the following commands in the Python console in FreeCAD:

import subprocess
subprocess.run(['pip', 'install', 'pyNastran'])

Finally, download and unpack hfcMystran and put it in the usr/Mod directory of FreeCAD.

Quick test

After installation you can select Utilities → Open FEM examples in the FEM Workbench. Under Solver → Mystran you can find some working Mystran examples.

Usage

  1. After the creation of an Analysis container, use one of the following alternatives:
    • Select Solve → Solver Mystran from the menu.
    • Press the S then M shortcut keys.
  2. Double click the SolverMystran object.
  3. Click the Write button.
  4. Click the Run button.

Limitations

  • Currently, only displacements are available as contour plots from analyses with this solver. To see the stresses, switch to hfcMystran workbench, open your case and its f06 file. pyNastran GUI can be used to plot all the results.

File function

Under Mod\Fem\femsolver\mystran, there are these files:

add_con_displacement.py
add_con_fixed.py
add_con_force.py
add_femelement_geometry.py
add_femelement_material.py
add_mesh.py
add_solver_control.py
writer.py
solver.py
tasks.py

The function of each file are:

writer.py - main control file

model = BDF()
model = add_solver_control.add_solver_control(pynasf, model, self)
model = add_femelement_geometry.add_femelement_geometry(pynasf, model, self)
model = add_mesh.add_mesh(pynasf, model, self)
model = add_femelement_material.add_femelement_material(pynasf, model, self)
model = add_con_fixed.add_con_fixed(pynasf, model, self)
model = add_con_displacement.add_con_displacement(pynasf, model, self)
model = add_con_force.add_con_force(pynasf, model, self)

BDF() - Create empty case file.

$pyNastran: version=msc
$pyNastran: punch=False
$pyNastran: encoding=utf-8
$pyNastran: nnodes=0
$pyNastran: nelements=0
ENDDATA

add_solver_control.py - Adding EXECUTIVE CONTROL DECK and CASE CONTROL DECK.

$EXECUTIVE CONTROL DECK
SOL 101
CEND
$CASE CONTROL DECK
ECHO = NONE
TITLE = pyNastran for generating solverinput for for Mystran
SUBCASE 1
    DISPLACEMENT(SORT1,REAL) = ALL
    LOAD = 1
    SPC = 1
    SPCFORCES(SORT1,REAL) = ALL
    STRESS(SORT1,REAL,VONMISES,BILIN) = ALL
    SUBTITLE = Default
BEGIN BULK
$PARAMS
PARAM       POST      -1

add_femelement_geometry.py - Adding GRID cards

add_mesh.py - Adding element cards

add_femelement_material.py - Adding MAT1 card

add_con_fixed.py - Adding SPCADD and SPC1 cards

add_con_displacement.py - Adding SPCADD and SPC1 cards

add_con_force.py - Adding FORCE cards