Hello,
I'm trying to develop a material with tangent of permeability with respect to strain is a 4th order tensor with only minor symmetry. I found there is a previous post (https://forums.febio.org/showthread....e-tens4d-class) discussing a similar topic in the forum. After reading that post and the replies, I still have some questions about the details of how to implement such non-major-symmetric tangent.
First of all, the non-major-symmetry of my permeability tangent (let's mark as C) is introduced by a dyadic of two matrices (2nd order tensor): M and I, where M is a symmetric matrix and I is identity matrix:
C_ijkl = (some_scalars) * M_ij * I_kl.
According to Prof. Ateshian's suggestion in the previous post, I'd like to first try to still use tens4ds for my tangent. Then what should I use to replace this dyadic result? For example, the operation "dyad1s" is defined as:
dyad1s(a) : (a dyad1s a)_ijkl = a_ij * a_kl;
dyad1s(a,b) : (a dyad1s b)_ijkl = a_ij * b_kl + b_ij * a_kl.
Can I simply say:
C_ijkl = (some_scalars) * dyad1s(M,I);
or,
C_ijkl = (some_scalars) * dyad1s(M,I)/2?
Later, if unfortunately, the convergence doesn't agree with the tens4ds tangent. I have to use the more general 4th order tensor class: tens4d. I noticed that in "FEBioMix/FEHydraulicPermeability.h" line 18, it declare the tangent of permeability as a tens4ds:
virtual tens4ds Tangent_Permeability_Strain(FEMaterialPoint& mp) = 0;
If I'm going to use tens4d instead of tens4ds as the tangent, would the parent class "FEHydraulicPermeability" work along well with that? Or do I have to create a new FEHydraulicPermeability-like class with tens4d tangent?
Best,
Joe
I'm trying to develop a material with tangent of permeability with respect to strain is a 4th order tensor with only minor symmetry. I found there is a previous post (https://forums.febio.org/showthread....e-tens4d-class) discussing a similar topic in the forum. After reading that post and the replies, I still have some questions about the details of how to implement such non-major-symmetric tangent.
First of all, the non-major-symmetry of my permeability tangent (let's mark as C) is introduced by a dyadic of two matrices (2nd order tensor): M and I, where M is a symmetric matrix and I is identity matrix:
C_ijkl = (some_scalars) * M_ij * I_kl.
According to Prof. Ateshian's suggestion in the previous post, I'd like to first try to still use tens4ds for my tangent. Then what should I use to replace this dyadic result? For example, the operation "dyad1s" is defined as:
dyad1s(a) : (a dyad1s a)_ijkl = a_ij * a_kl;
dyad1s(a,b) : (a dyad1s b)_ijkl = a_ij * b_kl + b_ij * a_kl.
Can I simply say:
C_ijkl = (some_scalars) * dyad1s(M,I);
or,
C_ijkl = (some_scalars) * dyad1s(M,I)/2?
Later, if unfortunately, the convergence doesn't agree with the tens4ds tangent. I have to use the more general 4th order tensor class: tens4d. I noticed that in "FEBioMix/FEHydraulicPermeability.h" line 18, it declare the tangent of permeability as a tens4ds:
virtual tens4ds Tangent_Permeability_Strain(FEMaterialPoint& mp) = 0;
If I'm going to use tens4d instead of tens4ds as the tangent, would the parent class "FEHydraulicPermeability" work along well with that? Or do I have to create a new FEHydraulicPermeability-like class with tens4d tangent?
Best,
Joe
Comment