Skip to content

muratartim/SolidMAT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SolidMAT

Apache License HitCount Java Version

SolidMAT is an object-oriented software system which has been designed & developed for finite element and lifetime analysis of small-to-medium scaled structural applications. The user can configure, start and monitor the different successive steps involved in analysis procedures. The major features of the software package can be highlighted as follows,

  • Preprocessing (discretization and mesh generation, material information, boundary conditions and etc.),
  • Processing (starting and monitoring the demanded analysis type),
  • Postprocessing (displaying the resulting values in various formats such as tables, 2D and 3D plots and etc.).

Showcases

The slides below showcase some of the real-life benchmark problems analyzed using SolidMAT.

solidmat_demo

Screenshot

sc3

Development languages

The software is mainly written in Java (90%), including user interfaces, analysis modules and data visualisations. Some of the linear equation solvers are written in Fortran and comipled into standalone executables which are called by the main application when needed.

Some C++ libraries are included into the developed software package in order to be used in fatigue analysis. Because whole software package has been developed in Java programming language, native interfaces needed to be implemented to establish connection between the package and the libraries. This has been realized by the use of Java Native Interface (JNI).

Software architecture

Following sub-sections detail the overall software architecture employed for the development process.

Package structure

Project has been partitioned into four major packages for simultaneous development. The fea package contains packages necessary for the Finite Element Analysis, the mesh package contains automatic mesh generation classes, the output package includes classes for visualizer and table output writer classes, respectively. The gui package contains all the user interface classes.

package

UML class diagrams

The overall UML diagram for the fea package is shown in the following figure.

uml_fea

Overall UML diagram for the output package is shown in the figure below. The visualize package contains two fundamental classes called PreVisualizer and PostVisualizer which serve as connection hubs to more specific visualizer classes depending on the object type to be visualized.

uml_visualize

Software usage

Following sub-sections detail some of the important feautures of the software.

Analysis types

The software system enables the user to perform different linear analyses of the following types:

  • Linear static (displacement & stress),
  • Modal (free vibration),
  • Linear transient (time history),
  • Linear buckling (stability),
  • Fatigue (lifetime).

Analysis type to be performed can be selected via the following dialog through user interface.

screen shot 2018-06-06 at 11 17 19

Element types

Software package contains an extensive element library. All element types are given with different classifications in the following table.

eltypes

An element navigator dialog has been implemented for selecting and creating the demanded element types (see figure below). This dialog enables the user to easily navigate through elements by properties such as mechanics, geometry and interpolation degree.

elnav

Equation solvers

A variety of equation solvers have been implemented and included from linear algebra packages (such as MTJ - Matrix Toolkits for Java and JLAPACK – Linear Algebra Package for Java) to the software package in order to provide efficient solutions for different kinds of problems to be analyzed. These solvers are collected under two major types as linear equation solvers and generalized eigenvalue solvers, respectively.

solvers

Depending on the analysis type, user can select a suitable solver through the solver library dialog shown in the following figure.

solvernav

Mesh generators

Mesh generators available in the software package are composed of element sub dividers for elements having line, quadrilateral, triangular and hexahedral geometries. Figure below shows a dialog to mesh solids and some examples of meshed areas and solids.

mesh