Material Library

Hi everyone,
i will soon start on implementing a Material Library into Cubit-CalculiX. As library save file i will use the hdf5 format.
As i don’t want to ship the component with an empty library i would need some materials data for creating a default library.

Could someone share some material data?

Best would be if the material data is in an .inp file using the calculix keywords.

Part of my calculix-templates repo on github consists of materials.

The material data is generally gathered from public sources.
Sometimes I’ve had to combine multiple sources for complete data on a material.

The properties for the carbon/epoxy laminates I calculated myself using lamprop.

2 Likes

@rsmith that’s a good collection! Thanks for sharing this!

material library can be complex since CalculiX supported many types internally, added a library of MFront make it become larger. Probably, material is classified as elastic, brittle and ductile. Tension or compression only, hyper and anisotropic in addition, cyclic and damage, possibility. Usually, some parameter value of material properties have correlation with another, but it has problem since different regulation or author have own proposed formula. Still, usable as comparison and external references.

maybe it can be more useful when sharing and distributing in spreadsheet format, anyone can check, improve or extending, convert to another units also an easy task. Simple copy and paste keyword generated also. Previously, i have to manage several materials of civil/structure (steel, concrete, soil, and wood) but it’s separated i.e not yet to merge and made in spreadsheet format.

basic material properties of commonly used may refer to MatWeb, it is capable of exporting their data to spreadsheet format. Further modification to be compatible with CalculiX keyword is needed, an example below of hardwood as anisotropic materials.

Looking at the list of material definition keywords, I only see three basic types; solid, liquid/gas and user.

Below are the material definition keywords that I found, divided into categories.

SOLIDS

General

*DENSITY

Elastic deformation

*ELASTIC

Plastic deformation

*PLASTIC
*DEFORMATION PLASTICITY
*MOHR COULOMB HARDENING
*MOHR COULOMB
*CYCLIC HARDENING
*RATE DEPENDENT
*CREEP

Thermal

*CONDUCTIVITY
*EXPANSION
*SPECIFIC HEAT

Special material types

*HYPERELASTIC
*HYPERFOAM

Electric/magnetic

*ELECTRICAL CONDUCTIVITY
*MAGNETIC PERMEABILITY

LIQUID/GAS

*FLUID CONSTANTS
*SPECIFIC GAS CONSTANT

USER

*USER MATERIAL
*DEPVAR

How are these classifications relevant for CalculiX?
AFAICT, CalculiX does not apply failure criteria.

elastic categories can be iso/aniso, tens/comp only and hyper
britle plastics i.e Mohr, DP and ductile plastic i.e Mises
failure categories as damage, available in MFront, can brittle damage i.e Mazars or ductile damage i.e Gurson.

In my view, a library of CalculiX materials should not require external software like MFront.

Not every CalculiX user will be capable of compiling MFront generated materials for loading in CalculiX. Especially those on ms-windows.

1 Like

I agree :100:% with you on that.

even without MFront it has three types of material categories: elastic, brittle and ductile. Damage type notified as another possibility in my previous post.

Can you please give examples? Looking at the keywords for material definition, I cannot make the connection.

simple example of hardwood as previously shown, a data from MatWeb. How can it be implemented to be compatible with CalculiX? is that simple elastic isotropic (Hooke), anisotropic elastic or plastic (ductile/Mises)? is tension limit stress available, also option of anisotropic model type. So, a single data provide can be extending to five keyword at least in CalculiX even without MFront.

similar example can be in brittle like material such as concrete and soil.

btw, when libraries of MFront available and known to be more accurate and stable also, any reason not to use and community supported? indeed, all can have consequences in largely complex when included. So it’s not a small and simple task for me, but possible and prefer spreadsheet based.

is this apply to the solver of CalculiX itself since not every user capable of compiling? probably not, CalculiX Windows version treads ranked highest in the forum, MFront also fairly high and recommended material library in official CCX manuals. In this regrads, i can say disagree when MFront lefted by the community.

Yes, since most users will want to download a pre-built version.
This is especially true on ms-windows.

In case of building it yourself, UNIX/Linux users have a clear advantage because the required infrastructure of compilers, libraries and build tools is generally already installed or readily available via the platform’s package manager.

If, as a windows user, you want to install a development environment you face a choice; (a) go with the microsoft visual studio or (b) use msys2 or cygwin. Looking at the libraries that are required for CalculiX, most of them assume that the compiler is gcc, and require tools like cmake or autotools and GNU make. So (b) seems the sensible option. This is however a completely foreign environment for windows users and those who are only used to working with an IDE.

My apologies, but I cannot understand what you are trying to say here?

about this, but maybe i’m not clearly understand. Ignoring the great contribution of MFront library available in CalculiX is misleading i.m.h.o, only by these libraries can be possible to fullfiled the gaps with commercial codes such as Abaqus, Ansys and Plaxis.

At this point, I would like to point out that the default Makefile for CalculiX does not include the flag CALCULIX_EXTERNAL_BEHAVIOURS_SUPPORT which enables dynamic loading of external shared libraries like those generated by MFront.

Looking at the package build instructions for Arch and Debian Linux and FreeBSD UNIX, neither use this flag. So I suspect that many if not most packaged versions of CalculiX do not have the ability to use MFront materials out-of-the-box.

So I’m not trying to ignore MFront or its belittle its contribution to the capabilities of CalculiX. I’m just pointing out that it’s an optional extra which might not be enabled unless you build CalculiX from source.

1 Like

compilation and database of material library is a different thing, probably. Lack of contributor supported MFront for Linux is another story since not all user working on these platforms. Also, it’s an easy task to add notify in the spreadsheet for material with MFront library required.

regarding classified of material, i seen another FE code does apply as shown below. However, still have a bit different i.e ductile named as vMises instead, brittle not yet grouped (concrete and soil) and damage type did not merge.

Thanks for the discussions here. Just a progress update from my site. I included the library management into the material management. The command syntax is very close to cubits material handling. The library materials can be created, modified and deleted just as easy as the cubit materials. This way everyone should be able to include their own materials and group them however they like.

1 Like

these GUI menu’s look similar to PrePoMax, still limited to elastic type with additional thermal properties and plasticity (isotropic). Another large model types of material in CalculiX is not yet supported to add freely and easily by user, only by manual keyword editor or imported keyword file is possible. So, a spreadsheet based format seems to be a more general solution for all pre-processor available.

Which model types are you missing that you are working with?
The cards represent the whole keywords. Features that will probably be never implemented are when the user needs to compile calculix themselves to use them.

The hierarchy in the library is given by the hdf5 format. From the software i’ve seen so far, the libraries basically all look the same.

How are you currently processing your spreadsheets? Whats the workflow to get the spreadsheet data into the .inp?

an example is Compression_Only or Mohr-Coulomb available in CalculiX. Are these type of material supported in GUI of Cubit by add in defining or imported keywords then displaying in menu? PrePoMax displayed only at names, all parameters can not be seen and accessible.

screenshot shown anisotropic has been supported, PrePoMax is not yet available.

it’s basic setting by formula and string manipulation to generate CalculiX material keywords.