Structure
This documentation is old. Update it.
TYPE, PUBLIC, EXTENDS( Rank2Tensor_ ) :: DeformationGradient_
REAL( DFP ), ALLOCATABLE, DIMENSION( :, : ) :: R
REAL( DFP ), ALLOCATABLE, DIMENSION( :, : ) :: U
REAL( DFP ), ALLOCATABLE, DIMENSION( :, : ) :: V
REAL( DFP ), ALLOCATABLE, DIMENSION( : ) :: EigenVal
REAL( DFP ), ALLOCATABLE, DIMENSION( :, : ) :: EigenVec_U
REAL( DFP ), ALLOCATABLE, DIMENSION( :, : ) :: EigenVec_V
Description
Getting Started
Constructing the object
The subroutine Initiate()
can be used to create the DeformationGradient_
class.
CALL obj%Initiate( )
CALL obj%Initiate( Mat2( :, : ) )
CALL obj%Initiate( Scalar )
CALL obj%Initiate( VoigtVec, VoigtType )
CALL obj%Initiate( obj2 )
In addition we can use the function DeformationGradient()
which returns the DeformationGradient_
type.
obj = DeformationGradient( )
obj = DeformationGradient( Mat2, FULL )
obj = DeformationGradient( Mat2 )
We have also defined function DeformationGradient_Pointer()
that returns the pointer to the DeformationGradient_
pointer.
obj = DeformationGradient_Pointer( )
obj = DeformationGradient_Pointer( Mat2, FULL )
obj = DeformationGradient_Pointer( Mat2 )
Here Full
can be True
or False
. If True
then R, U, V, EigenVal, EigenVec_U, EigenVec_V
all will be computed.
We can also use Assignment Operator( = )
obj = Mat2( :, : )
Deallocating the object
We can call obj%Deallocate()
Getting the Rotation part
R = .R. obj
Getting the Right Stretch Tensor
U = .U. obj
Getting the Left Stretch Tensor
V = .V. obj
Getting the EigenValues of F, U, V
Not that U and V are similar tensor, therefore, F, U, V all have same eigenvalues.
Val = .EigenValues. obj
Getting the EigenVectors of U and V
P( :, : ) = .EigenVectorsU. obj
P( :, : ) = .EigenVectorsV. obj
Getting the Jacobian
J = .J. obj
Getting Right and Left Cauchy Green Deformation Tensor
C = RightCauchyGreen( obj )
C = RightCauchyGreen( Mat )
C = .C. obj
C = .C. Mat
B = LeftCauchyGreen( obj )
B = LeftCauchyGreen( Mat )
B = .B. obj
B = .B. Mat
Getting the Strain
E = GreenStrain( obj )
E = GreenStrain( Mat )
E = .GreenStrain. obj
E = .GreenStrain. Mat
e = AlmansiStrain( obj )
e = AlmansiStrain( Mat )
e = .AlmansiStrain. obj
e = .AlmansiStrain. Mat