Replies: 1 comment 8 replies
-
Hi Lamia, Unfortunately, there is no function to compute a eigenvalues of a fourth order tensor so far in MFront. But, in the orthotropic case, I think that we can use a small trick. Let me think of it. |
Beta Was this translation helpful? Give feedback.
8 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hello,
I am using mfront to define an new energy decomposition for a phase fracture modeling, and for any anisotropic elastic materials (ref Nguyen et al. ) . It is similar of what Jeremy Bleyer did with Amor and Miehe decomposition coupling with fenics. At the end, I would like to compare the three formulation in dynamic modelling.
The first step of the law is to provide as an input an anisotropic ( or at least orthotopic) stiffness matrix to mfront (the variable C). Then I have to compute the eigenvalues and and eigenprojectors of C. At the end, I should transform the stiffness matrix into C^(1/2) and C^(-1/2) like in the joined image.

The matrix C is considered constant so the decomposition should carry out only once.
I started to code this step with 3 blocks :
@OrthotropicBehaviour<Pipe>;
@ComputeStiffnessTensor<UnAltered> {};
@InitLocalVariables{}
At the compilation I got this error :
In file included from PhaseFieldDisplacementNguyenSplit-generic.cxx:27: PhaseFieldDisplacementNguyenSplit.mfront: In instantiation of 'void tfel::material::PhaseFieldDisplacementNguyenSplit<hypothesis, Numeric Type, false>::initialize() [with tfel::material::ModellingHypothesis::Hypothesis hypothesis = tfel::material::ModellingHypothesis::AXISYM METRICALGENERALISEDPLANESTRAIN; NumericType = double]': /stck/lmersel/CODE_PROGRAMME/MFront_MGIS/TFEL-4.0/install/include/MFront/GenericBehaviour/Integrate.hxx:318:19: required from 'int mfro nt::gb::integrate(mfront_gb_BehaviourData&, typename Behaviour::SMFlag, tfel::material::OutOfBoundsPolicy) [with Behaviour = tfel::materi al::PhaseFieldDisplacementNguyenSplit<tfel::material::ModellingHypothesis::AXISYMMETRICALGENERALISEDPLANESTRAIN, double, false>; mfront_g b_BehaviourData = mfront_gb_BehaviourData; typename Behaviour::SMFlag = tfel::material::TangentOperatorTraits<tfel::material::MechanicalB ehaviourBase::STANDARDSTRAINBASEDBEHAVIOUR>::SMFlag]' PhaseFieldDisplacementNguyenSplit-generic.cxx:618:145: required from here PhaseFieldDisplacementNguyenSplit.mfront:21:32: error: 'using StiffnessTensor = tfel::config::Types<1, double, false>::StiffnessTensor' { aka 'struct tfel::math::st2tost2<1, double>'} has no member named 'computeEigenVectors' compilation terminated due to -Wfatal-errors. make: *** [PhaseFieldDisplacementNguyenSplit-generic.o] Error 1 callMake: can't build target 'all' libraries building went wrong
I am new in mfront so I propably did something wrong. I attached the .mfront file (in .txt format).
Thank you very much for the help.
Kind regards,
Lamia
PhaseFieldDisplacementNguyenSplit.txt
Beta Was this translation helpful? Give feedback.
All reactions