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
-
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