Convert finite elemet meshes given in the SDRL universal file format into ABAQUS / Calculix compatible input decks
C Makefile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
c17to16
.gitignore
LICENSE
Makefile
README.md
input.sample
output.sample
unical1.c
unical2.c
unical3.c

README.md

unical1

/* UNIVERSAL - CalculiX interface program, Bernhardi, Aug 2011 / /***************************************************************************

  • THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
  • IT UNDER THE TERMS OF THE GNU LESSER GENERAL PUBLIC LICENSE
  • AS PUBLISHED BY THE FREE SOFTWARE FOUNDATION;
  • THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
  • WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
  • MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
  • LESSER GENERAL PUBLIC LICENSE FOR MORE DETAILS.
  • YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
  • ALONG WITH THIS PROGRAM; IF NOT, WRITE TO THE FREE SOFTWARE FOUNDATION, INC,
  • 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA ****************************************************************************/ / This small program converts finite elemet meshes given in the SDRL universal file format into ABAQUS / Calculix compatible input decks. The format of the universal data sets can be found at http://www.sdrl.uc.edu.

The element - node mapping is taken from the Python unv2abaqus script, which can be found at /www.caelinux.org.

This program will still be far from being error - free; therefore, use it with caution!

The program also translates surface meshes in case they are present in the .med file: If the main mesh is planar, the line elements (if they exist) are translated to abaqus elsets with load surface IDs P1...P4.

Correspondingly, if a volume mesh is given, the surface meshes (if they are also present in the med file) are converted to elsets with load IDs P1...P6.

The *elset names will be the same as the group names defined in SALOME.

I use that feature to introduce boundary conditions. However, the calculation of the surface elsets takes quite long for very large meshes.

The program works for all CalculiX element types. It compiles under opensuse 12.3 (but should compile on all linuxes).

To install and use:

  • place the program source text into a proper directory, e.g. /path/unical

  • go to that directory.

  • issue a "gcc -o2 -o unical unical1.c" command.

  • try it out using, for example, a universal file cube.unv: "/path/unical cube".

  • Then, configure your Abaqus/Calculix analysis run by modifying the cube.inp file: Introduction of loads, boundary conditions, prodedures, etc.

Remarks:

  • Unical translates the following three Universal data sets: 2411, node point numbers and coordinates 2412, element type codes and connectivities 2467, groups of nodes and elements. Everything else is ignored.

  • Only tested with universal files generated by SALOME.

  • Planar elements are always translated to shell elements, e.g. S8R. Thus the *element, type= lines must be modified if e.g. CPS8 elements are to be used.

  • In case of a volume mesh, SALOME also generates surface elements; correspondingly, in case of a planar mesh the boundary is also output using line elements. In most cases the boundaries are not needed and are therefore not translated to CalculiX; rather, the surface elements are used to generate *surface input lines for ease of boundary condition definition, as described above.

  • However, there are cases where different element dimensions are desired; for example, combination of volume elements and beam elements. If this is the case, specify "./unical -f cube". Then, all elements are translated. If only volumes and beams are wanted, shell elements must be manually removed from the .inp file.

  • Beam orientations are not treated yet.


From Prool:

Prool mod usage:

unical1 input.inp output.inp or unical1 -f input.inp output.inp

Prool, http://prool.kharkov.org, http://calculix.kharkov.org