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
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.
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.
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
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.
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 [-]