CalculiX & Mfront

hello again, i look for orthotropic with plasticity materials (link of documentation and code) but it’s not available in distribution. Some in different is yield criterion compared to CalculiX latest distribution, MFront use Hill’s criteria instead of Mises. Hopefully it’ll be available in next distribution, thank you.

*edited / added

implementation code is available from TFEL/MFront forums

A new version of Tfel came out 5 days ago. Will there be a postable version with new materials?

It seem this library has been updated to version 5 mentioned, unfortunately a portable version is not yet available.

https://packages.msys2.org/packages/mingw-w64-x86_64-tfel

1 Like

Mfront CalculiX materials (5.0.0; ucrt64):

Gurson
movie

2 Likes

thanks much for updating, it’s complete enough by addition of Gurson (GTN) material models of ductile fracture. Btw, i’m only missing one model of OrthotropicLinearHardeningPlasticity for modeling of wooden like materials of timber structures.

In the new version of MFront (most likely 5.1) there will be information about what individual SDVs contain.

Example:

*Material, name=@CALCULIXBEHAVIOUR_CHABOCHE2
** list of internal state variables:
** <SDV1: ElasticStrain_0>, <SDV2: ElasticStrain_1>, <SDV3: ElasticStrain_2>, <SDV4: ElasticStrain_3>, <SDV5: ElasticStrain_4>, <SDV6: ElasticStrain_5>, <SDV7: p>, <SDV8: a1_0>, 
** <SDV9: a1_1>, <SDV10: a1_2>, <SDV11: a1_3>, <SDV12: a1_4>, <SDV13: a1_5>, <SDV14: a2_0>, <SDV15: a2_1>, <SDV16: a2_2>, 
** <SDV17: a2_3>, <SDV18: a2_4>, <SDV19: a2_5>, <SDV20: logarithmicStrain_0>, <SDV21: logarithmicStrain_1>, <SDV22: logarithmicStrain_2>, <SDV23: logarithmicStrain_3>, <SDV24: logarithmicStrain_4>, 
** <SDV25: logarithmicStrain_5>, <SDV26: dualOfTheLogarithmicStrain_0>, <SDV27: dualOfTheLogarithmicStrain_1>, <SDV28: dualOfTheLogarithmicStrain_2>, <SDV29: dualOfTheLogarithmicStrain_3>, <SDV30: dualOfTheLogarithmicStrain_4>, <SDV31: dualOfTheLogarithmicStrain_5>
*Depvar
31

source: Fix Issue 822 · thelfer/tfel@a228654 · GitHub

1 Like

hi, not all material models already to use by changing input parameters in current MFront integration with CalculiX listed below, thank you.

  • BarlatPerfectPlasticityYld200418p2090T3_Barlat2005
  • CrushedSaltKorthausBehaviour
  • DruckerPerfectPlasticity_Cazacu2001
  • FichantLaBorderieDamageAndTorelliLoadInducedThermalStrainBehaviour
  • GreenPerfectPlasticity
  • Hosford1972PerfectPlasticity
  • Iwan
  • LoadInducedThermalStrain_Torelli2018
  • MericCailletaudFiniteStrainSingleCrystalViscoPlasticity
  • MericCailletaudSingleCrystalViscoPlasticity
  • MericCailletaudSingleCrystalViscoPlasticityNumericalJacobian
  • OrthotropicDruckerPerfectPlasticity2090T3_Cazacu2001
  • OrthotropicDruckerPerfectPlasticityYdLin6016T4_Cazacu2001

Hi, would you by any chance have the Mfront ccx materials for mingw64 build also? I’ve built a MKL Pardiso version on Windows using MSYS, following the instructions from Mecway. CCX runs great, but getting the Mfront lib to connect seems impossible to me. I’ve built using mingw64 and a few simple test materials, linked up the assemblies, but it simply ignores them. My input file shows:
*MATERIAL, NAME=@CALCULIXBEHAVIOUR_MAZARS
*DEPVAR
3
*USER MATERIAL, CONSTANTS=8
30000., 0.20, 1.0, 1.0e4, 1.25, 517., 1.0e-4, 3.0e-4
293.
*SOLID SECTION, ELSET=EALL, MATERIAL=@CALCULIXBEHAVIOUR_MAZARS
*DENSITY
2.35e-9

*NODE FILE
U, RF
*EL FILE
S, E, SDV
*EL PRINT, ELSET=EALL
S, E, SDV

Yet resulting stresses are all 0, including SDV. Strange thing is, even if I rename ‘libCALCULIXBEHAVIOUR.dll’ ccx still continues calculating as normal. I suspect its not connecting properly in any case. Might be the way I’ve built it. Can’t test with the ucrt version either, same issue.

Any suggestions or guidance would be greatly appreciated.

Just checking; did you build ccx with the flag CALCULIX_EXTERNAL_BEHAVIOURS_SUPPORT defined?

1 Like

I have not! Thank you for pointing this out! Seems to be linking to it now. I’m so grateful!

It links to the mfront material now, but I seem to be unable to get some results, all except displacement is 0, and in other cases just empty frd. My output shows:
increment size decrease requested by a material user routine (through pnewdt)

divergence; the increment size is decreased to 2.000000e-06
the increment is reattempted

*ERROR: increment size smaller than minimum
best solution and residuals are in the frd file

I used the mfront example from: tfel/mfront/tests/behaviours/UnilateralMazars.mfront at 9b198356cf4896ca4ae1659010d02a5f4a21683a · thelfer/tfel · GitHub

and inp based on Using MFront Mazars Material Model - #4 by xyont

Is anyone willing to share their UnilateralMazars.mfront and also working .inp for testing?

When ccx tries to load a material from a dynamic link library, it is looking for a function called umat_; note the trailing underscore.

It is apparently a convention in Fortran code to add an underscore to functions. I would expect that mfront does this correctly, but it might be a good idea to check.

Your compiler should come with a tool that enables you to see the names of functions in a DLL.

Thanks, I got the material to load and run, the issue is obtaining non-zero results now. With the Mazars and UnilateralMazars I seem to struggle to get any meaningful output, with FichantLaborderieDamageBehaviour it seems to be more stable.

I guess the next step is to try a proper umat material.

Thanks for the suggestions, at least I got it linked and running now.

hi, Mazars material implementation of MFrront seem to be sensitive in mesh, parameters, steeps and increment also. Fichant Laborderie models runs smooth and easy to convergences, but some parameters depend on mesh ratio thus make it needed an update corresponding to mesh type and refinement setting. Probably, result can be over/underestimated if neglected.

indeed, i guess umat material available at GitHub can be more stable since it been regularized.

hi,

more soil material models available out there (link belows), please kindly added for completeness.

best,

MCC.mfront

Barcelone.mfront

CSSM.front

Constitutive model Modified Cam-Clay (G. Bacquaert, EDF R&D ERMES, 2023)

/// >>>>>>>>>>>>>>>>>>>
/// Material properties
/// <<<<<<<<<<<<<<<<<<<

@MaterialProperty stress k;          // Bulk modulus [Pa]                        
@MaterialProperty stress mu;         // Shear modulus [Pa]                      
@MaterialProperty real kp;           // Swelling index [-]                       
@MaterialProperty stress pc0;        // Initial critical pressure [Pa]           
@MaterialProperty real M;            // Criticial state line slope [-]          
@MaterialProperty stress s0;         // Yield stress in isotropic traction [Pa]  
@MaterialProperty real bt;           // Volumetric hardening index [-]          

Constitutive model Barcelone (G. Bacquaert, EDF R&D ERMES, 2024)

// >>>>>>>>>>>>>>>>>>>
// Material properties
// <<<<<<<<<<<<<<<<<<<

@MaterialProperty stress k;          // Bulk modulus [Pa]
@MaterialProperty stress mu;         // Shear modulus [Pa]
@MaterialProperty real kp;           // Swelling index [-]
@MaterialProperty real kps;          // Succion index [-]
@MaterialProperty stress Ks;         // Capillary modulus [Pa]
@MaterialProperty real M;            // Critical state line slope [-]
@MaterialProperty stress pc0;        // Initial consolidation pressure in saturated conditions [Pa]
@MaterialProperty stress s0;         // Initial yield capillary pressure [Pa]
@MaterialProperty real ks;           // Tensile yield stress slope [-]
@MaterialProperty real lms;          // Capillary compression index [-]
@MaterialProperty real lm0;          // Compression index in saturated conditions [-]
@MaterialProperty real bta;          // 1st parameter of the compression index [-]
@MaterialProperty real r;            // 2nd parameter of the compression index [-]
@MaterialProperty stress pcr;        // Reference consolidation pressure in saturated conditions [Pa]
@MaterialProperty real alpha;        // Correction of the flow rule on the first plasticity yield criterion [-]
@MaterialProperty real e0;           // Initial voids ratio [-]

Constitutive model CSSM (G. Bacquaert, EDF R&D ERMES, 2024)
// >>>>>>>>>>>>>>>>>>>
// Material properties
// <<<<<<<<<<<<<<<<<<<

@MaterialProperty stress k;            // Bulk modulus [Pa]
@MaterialProperty stress mu;           // Shear modulus [Pa]
@MaterialProperty stress pc0;          // Initial critical pressure [Pa]
@MaterialProperty real M;              // Critical state slope [-]
@MaterialProperty real bt;             // Volumetric hardening index [-]
@MaterialProperty real nhyp;           // Exponent from the hyperbolic model [-]
@MaterialProperty real gammahyp;       // Distortion from the hyperbolic model [-]
@MaterialProperty real C;              // Center of every half-ellipse [Pa]
@MaterialProperty real rho;            // Shear modulus ratio [-]
@MaterialProperty real eta;            // Homothetic reduction ratio of the initial yield surface [-]
@MaterialProperty real om;             // Isotropic hardening index [-]