m_MEF90_LinAlg Module



Variables

Type Visibility Attributes Name Initial
type(Mat2D), public, parameter :: MEF90Mat2DIdentity = Mat2D(1.0_kr, 0.0_kr, 0.0_kr, 1.0_kr)
type(Mat3D), public, parameter :: MEF90Mat3DIdentity = Mat3D(1.0_kr, 0.0_kr, 0.0_kr, 0.0_kr, 1.0_kr, 0.0_kr, 0.0_kr, 0.0_kr, 1.0_kr)
type(MatS2D), public, parameter :: MEF90MatS2DIdentity = MatS2D(1.0_kr, 1.0_kr, 0.0_kr)
type(MatS3D), public, parameter :: MEF90MatS3DIdentity = MatS3D(1.0_kr, 1.0_kr, 1.0_kr, 0.0_kr, 0.0_kr, 0.0_kr)
type(Tens4OS2D), public, parameter :: MEF90Tens4OS2DIdentity = Tens4OS2D(1.0_kr, 0.0_kr, 0.0_kr, 1.0_kr, 0.0_kr, 0.5_kr)
type(Tens4OS3D), public, parameter :: MEF90Tens4OS3DIdentity = Tens4OS3D(1.0_kr, 0.0_kr, 0.0_kr, 0.0_kr, 0.0_kr, 0.0_kr, 1.0_kr, 0.0_kr, 0.0_kr, 0.0_kr, 0.0_kr, 1.0_kr, 0.0_kr, 0.0_kr, 0.0_kr, 0.5_kr, 0.0_kr, 0.0_kr, 0.5_kr, 0.0_kr, 0.5_kr)
type(Vect2D), public, parameter :: MEF90Vect2De1 = Vect2D(1.0_kr, 0.0_kr)
type(Vect2D), public, parameter :: MEF90Vect2De2 = Vect2D(0.0_kr, 1.0_kr)
type(Vect3D), public, parameter :: MEF90Vect3De1 = Vect3D(1.0_kr, 0.0_kr, 0.0_kr)
type(Vect3D), public, parameter :: MEF90Vect3De2 = Vect3D(0.0_kr, 1.0_kr, 0.0_kr)
type(Vect3D), public, parameter :: MEF90Vect3De3 = Vect3D(0.0_kr, 0.0_kr, 1.0_kr)

Interfaces

public interface Det

  • public function DetMat2D(M)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: M

    Return Value real(kind=C_DOUBLE)

  • public function DetMatS2D(M)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: M

    Return Value real(kind=C_DOUBLE)

  • public function DetMat3D(M)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: M

    Return Value real(kind=C_DOUBLE)

  • public function DetMatS3D(M)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: M

    Return Value real(kind=C_DOUBLE)

public interface DeviatoricPart

  • public function DeviatoricPart2D(M1)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: M1

    Return Value type(Mat2D)

  • public function DeviatoricPart2DS(M1)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: M1

    Return Value type(MatS2D)

  • public function DeviatoricPart3D(M1)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: M1

    Return Value type(Mat3D)

  • public function DeviatoricPart3DS(M1)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: M1

    Return Value type(MatS3D)

public interface Diagonalize

  • public subroutine MatS2DEigenVectorValues(M, MatProj, MatDiag)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: M
    type(Mat2D), intent(out) :: MatProj
    type(MatS2D), intent(out) :: MatDiag
  • public subroutine MatS3DEigenVectorValues(M, MatProj, MatDiag)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: M
    type(Mat3D), intent(out) :: MatProj
    type(MatS3D), intent(out) :: MatDiag

public interface HydrostaticPart

public interface Invert

  • public function InvertMat2D(M)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: M

    Return Value type(Mat2D)

  • public function InvertMatS2D(M)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: M

    Return Value type(MatS2D)

  • public function InvertMat3D(M)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: M

    Return Value type(Mat3D)

  • public function InvertMatS3D(M)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: M

    Return Value type(MatS3D)

  • public function InvertTens4OS2D(T)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS2D), intent(in) :: T

    Return Value type(Tens4OS2D)

  • public function InvertTens4OS3D(T)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS3D), intent(in) :: T

    Return Value type(Tens4OS3D)

public interface MEF90MatRaRt

  • public function RARtMat2D(A, R)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: A
    type(Mat2D), intent(in) :: R

    Return Value type(Mat2D)

  • public function RARtMatS2D(A, R)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: A
    type(Mat2D), intent(in) :: R

    Return Value type(MatS2D)

  • public function RARtMat3D(A, R)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: A
    type(Mat3D), intent(in) :: R

    Return Value type(Mat3D)

  • public function RARtMatS3D(A, R)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: A
    type(Mat3D), intent(in) :: R

    Return Value type(MatS3D)

public interface MEF90MatRtaR

  • public function RtARMat2D(A, R)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: A
    type(Mat2D), intent(in) :: R

    Return Value type(Mat2D)

  • public function RtaRMatS2D(A, R)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: A
    type(Mat2D), intent(in) :: R

    Return Value type(MatS2D)

  • public function RtaRMat3D(A, R)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: A
    type(Mat3D), intent(in) :: R

    Return Value type(Mat3D)

  • public function RtaRMatS3D(A, R)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: A
    type(Mat3D), intent(in) :: R

    Return Value type(MatS3D)

public interface Moment

  • public function Mat2DMoment(k, A)

    Author
    Blaise Bourdin (2019, bourdin@lsu.edu)

    Mat2DMoment: k-th moment of a 2x2 matrix, i.e tr(A^k)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: k
    type(Mat2D), intent(in) :: A

    Return Value real(kind=C_DOUBLE)

  • public function MatS2DMoment(k, A)

    Author
    Blaise Bourdin (2019, bourdin@lsu.edu)

    MatS2DMoment: k-th moment of a 2x2 symmetric matrix, i.e tr(A^k)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: k
    type(MatS2D), intent(in) :: A

    Return Value real(kind=C_DOUBLE)

  • public function Mat3DMoment(k, A)

    Author
    Blaise Bourdin (2019, bourdin@lsu.edu)

    Mat3DMoment: k-th moment of a 3x3 matrix, i.e tr(A^k)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: k
    type(Mat3D), intent(in) :: A

    Return Value real(kind=C_DOUBLE)

  • public function MatS3DMoment(k, A)

    Author
    Blaise Bourdin (2019, bourdin@lsu.edu)

    MatS3DMoment: k-th moment of a 3x3 symmetric matrix, i.e tr(A^k)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: k
    type(MatS3D), intent(in) :: A

    Return Value real(kind=C_DOUBLE)

public interface Norm

  • public function Vect2DNorm(V)

    Overloading euclidian norm of derived types

    Arguments

    Type IntentOptional Attributes Name
    type(Vect2D), intent(in) :: V

    Return Value real(kind=c_double)

  • public function Vect3DNorm(V)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect3D), intent(in) :: V

    Return Value real(kind=c_double)

  • public function Mat2DNorm(M)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: M

    Return Value real(kind=c_double)

  • public function MatS2DNorm(M)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: M

    Return Value real(kind=c_double)

  • public function Mat3DNorm(M)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: M

    Return Value real(kind=c_double)

  • public function MatS3DNorm(M)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: M

    Return Value real(kind=c_double)

public interface SpectralDecomposition

  • public subroutine MatS2DSpectralDecomposition(M, ppleValues, ppleDirections)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: M
    real(kind=C_DOUBLE), intent(out), dimension(2) :: ppleValues
    type(MatS2D), intent(out), dimension(2) :: ppleDirections
  • public subroutine MatS3DSpectralDecomposition(M, ppleValues, ppleDirections)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: M
    real(kind=C_DOUBLE), intent(out), dimension(3) :: ppleValues
    type(MatS3D), intent(out), dimension(3) :: ppleDirections

public interface Symmetrize

  • public function Symmetrize2D(M1)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: M1

    Return Value type(MatS2D)

  • public function Symmetrize3D(M1)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: M1

    Return Value type(MatS3D)

public interface Tens4OSTransform

  • public function Tens4OS2DTransform(T, M)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS2D), intent(in) :: T

    Apply the transformation given by the matrix R to a 4th order tensor i.e. C_{ijkl} = R_{ip}.R_{jq}.R_{kr}.R{ls} A_{pqrs}

    type(Mat2D), intent(in) :: M

    Return Value type(Tens4OS2D)

  • public function Tens4OS3DTransform(T, M)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS3D), intent(in) :: T

    Apply the transformation given by the matrix R to a 4th order tensor i.e. C_{ijkl} = R_{ip}.R_{jq}.R_{kr}.R{ls} A_{pqrs}

    type(Mat3D), intent(in) :: M

    Return Value type(Tens4OS3D)

public interface Trace

  • public function Trace2D(M1)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: M1

    Return Value real(kind=C_DOUBLE)

  • public function Trace3D(M1)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: M1

    Return Value real(kind=C_DOUBLE)

  • public function Trace2DS(M1)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: M1

    Return Value real(kind=C_DOUBLE)

  • public function Trace3DS(M1)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: M1

    Return Value real(kind=C_DOUBLE)

public interface Transpose

  • public function Transpose2D(M1)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: M1

    Return Value type(Mat2D)

  • public function Transpose3D(M1)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: M1

    Return Value type(Mat3D)

public interface assignment(=)

  • public subroutine Vect2D_Get_Real(V1, R1)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect2D), intent(out) :: V1
    real(kind=C_DOUBLE), intent(in) :: R1
  • public subroutine Vect3D_Get_Real(V1, R1)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect3D), intent(out) :: V1
    real(kind=C_DOUBLE), intent(in) :: R1
  • public subroutine Vect2D_Get_VectR(V1, R1)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect2D), intent(out) :: V1
    real(kind=C_DOUBLE), intent(in), dimension(2) :: R1
  • public subroutine Vect3D_Get_VectR(V1, R1)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect3D), intent(out) :: V1
    real(kind=C_DOUBLE), intent(in), dimension(3) :: R1
  • public subroutine Vect2DEQ(V1, V2)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect2D), intent(out) :: V1
    type(Vect2D), intent(in) :: V2
  • public subroutine Vect3DEQ(V1, V2)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect3D), intent(out) :: V1
    type(Vect3D), intent(in) :: V2
  • public subroutine Mat2D_Get_Real(M1, R1)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(out) :: M1
    real(kind=C_DOUBLE), intent(in) :: R1
  • public subroutine Mat3D_Get_Real(M1, R1)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(out) :: M1
    real(kind=C_DOUBLE), intent(in) :: R1
  • public subroutine Mat2DEQ(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(out) :: M1
    type(Mat2D), intent(in) :: M2
  • public subroutine Mat3DEQ(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(out) :: M1
    type(Mat3D), intent(in) :: M2
  • public subroutine MatS2D_Get_Real(M1, R1)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(out) :: M1
    real(kind=C_DOUBLE), intent(in) :: R1
  • public subroutine MatS3D_Get_Real(M1, R1)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(out) :: M1
    real(kind=C_DOUBLE), intent(in) :: R1
  • public subroutine MatS2DEQ(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(out) :: M1
    type(MatS2D), intent(in) :: M2
  • public subroutine MatS3DEQ(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(out) :: M1
    type(MatS3D), intent(in) :: M2
  • public subroutine MatS2D_Get_VectR(M1, R1)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(out) :: M1
    real(kind=C_DOUBLE), intent(in), dimension(3) :: R1
  • public subroutine MatS3D_Get_VectR(M1, R1)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(out) :: M1
    real(kind=C_DOUBLE), intent(in), dimension(6) :: R1
  • public subroutine VectR_Get_MatS2D(R1, M1)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(out), dimension(3) :: R1
    type(MatS2D), intent(in) :: M1
  • public subroutine VectR_Get_MatS3D(R1, M1)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(out), dimension(6) :: R1
    type(MatS3D), intent(in) :: M1
  • public subroutine Tens4OS2D_Get_Real(T1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS2D), intent(out) :: T1
    real(kind=C_DOUBLE), intent(in) :: D1
  • public subroutine Tens4OS3D_Get_Real(T1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS3D), intent(out) :: T1
    real(kind=C_DOUBLE), intent(in) :: D1
  • public subroutine Tens4OS2DToArray(A, T)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(out), dimension(3, 3) :: A
    type(Tens4OS2D), intent(in) :: T
  • public subroutine ArrayToTens4OS2D(T, A)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS2D), intent(out) :: T
    real(kind=C_DOUBLE), intent(in), dimension(3, 3) :: A
  • public subroutine Tens4OS3DToArray(A, T)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(out), dimension(6, 6) :: A
    type(Tens4OS3D), intent(in) :: T
  • public subroutine ArrayToTens4OS3D(T, A)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS3D), intent(out) :: T
    real(kind=C_DOUBLE), intent(in), dimension(6, 6) :: A
  • public subroutine Mat2DGetArray(M, A)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(out) :: M
    real(kind=C_DOUBLE), intent(in), dimension(2, 2) :: A
  • public subroutine Mat3DGetArray(M, A)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(out) :: M
    real(kind=C_DOUBLE), intent(in), dimension(3, 3) :: A
  • public subroutine MatS2DGetArray(M, A)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(out) :: M
    real(kind=C_DOUBLE), intent(in), dimension(2, 2) :: A
  • public subroutine MatS3DGetArray(M, A)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(out) :: M
    real(kind=C_DOUBLE), intent(in), dimension(3, 3) :: A
  • public subroutine ArrayGetMat2D(A, M)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(out), dimension(2, 2) :: A
    type(Mat2D), intent(in) :: M
  • public subroutine ArrayGetMat3D(A, M)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(out), dimension(3, 3) :: A
    type(Mat3D), intent(in) :: M
  • public subroutine ArrayGetMatS2D(A, M)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(out), dimension(2, 2) :: A
    type(MatS2D), intent(in) :: M
  • public subroutine ArrayGetMatS3D(A, M)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(out), dimension(3, 3) :: A
    type(MatS3D), intent(in) :: M
  • public subroutine MatS3DToMat3D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(out) :: M1
    type(MatS3D), intent(in) :: M2
  • public subroutine MatS2DToMat2D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(out) :: M1
    type(MatS2D), intent(in) :: M2
  • public subroutine Mat3DToMatS3D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(out) :: M1
    type(Mat3D), intent(in) :: M2
  • public subroutine Mat2DToMatS2D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(out) :: M1
    type(Mat2D), intent(in) :: M2
  • public subroutine Tens4OS2D2Array4(A, T)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(out), dimension(2, 2, 2, 2) :: A
    type(Tens4OS2D), intent(in) :: T
  • public subroutine Tens4OS3D2Array4(A, T)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(out), dimension(3, 3, 3, 3) :: A
    type(Tens4OS3D), intent(in) :: T
  • public subroutine Array42Tens4OS2D(T, A)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS2D), intent(out) :: T
    real(kind=C_DOUBLE), intent(in), dimension(2, 2, 2, 2) :: A
  • public subroutine Array42Tens4OS3D(T, A)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS3D), intent(out) :: T
    real(kind=C_DOUBLE), intent(in), dimension(3, 3, 3, 3) :: A

public interface operator(*)

  • public function DbleXVect2D(D1, V1)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(in) :: D1
    type(Vect2D), intent(in) :: V1

    Return Value type(Vect2D)

  • public function Vect2DXDble(V1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect2D), intent(in) :: V1
    real(kind=C_DOUBLE), intent(in) :: D1

    Return Value type(Vect2D)

  • public function DbleXVect3D(D1, V1)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(in) :: D1
    type(Vect3D), intent(in) :: V1

    Return Value type(Vect3D)

  • public function Vect3DXDble(V1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect3D), intent(in) :: V1
    real(kind=C_DOUBLE), intent(in) :: D1

    Return Value type(Vect3D)

  • public function DbleXMat2D(D1, M1)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(in) :: D1
    type(Mat2D), intent(in) :: M1

    Return Value type(Mat2D)

  • public function Mat2DXDble(M1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: M1
    real(kind=C_DOUBLE), intent(in) :: D1

    Return Value type(Mat2D)

  • public function DbleXMat3D(D1, M1)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(in) :: D1
    type(Mat3D), intent(in) :: M1

    Return Value type(Mat3D)

  • public function Mat3DXDble(M1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: M1
    real(kind=C_DOUBLE), intent(in) :: D1

    Return Value type(Mat3D)

  • public function DbleXMatS2D(D1, M1)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(in) :: D1
    type(MatS2D), intent(in) :: M1

    Return Value type(MatS2D)

  • public function MatS2DXDble(M1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: M1
    real(kind=C_DOUBLE), intent(in) :: D1

    Return Value type(MatS2D)

  • public function DbleXMatS3D(D1, M1)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(in) :: D1
    type(MatS3D), intent(in) :: M1

    Return Value type(MatS3D)

  • public function MatS3DXDble(M1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: M1
    real(kind=Kr), intent(in) :: D1

    Return Value type(MatS3D)

  • public function MatXVect2D(M1, V1)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: M1
    type(Vect2D), intent(in) :: V1

    Return Value type(Vect2D)

  • public function MatXVect3D(M1, V1)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: M1
    type(Vect3D), intent(in) :: V1

    Return Value type(Vect3D)

  • public function MatXVect2DS(M1, V1)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: M1
    type(Vect2D), intent(in) :: V1

    Return Value type(Vect2D)

  • public function MatXVect3DS(M1, V1)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: M1
    type(Vect3D), intent(in) :: V1

    Return Value type(Vect3D)

  • public function DbleXTens4OS2D(D1, T1)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(in) :: D1
    type(Tens4OS2D), intent(in) :: T1

    Return Value type(Tens4OS2D)

  • public function Tens4OS2DXDble(T1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS2D), intent(in) :: T1
    real(kind=C_DOUBLE), intent(in) :: D1

    Return Value type(Tens4OS2D)

  • public function Tens4OS2DXMatS2D(T1, M1)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS2D), intent(in) :: T1
    type(MatS2D), intent(in) :: M1

    Return Value type(MatS2D)

  • public function Tens4OS2DXMat2D(T1, M1)

    Author
    Blaise Bourdin (2016, bourdin@lsu.edu)

    Tens4OS2DXMat2D:

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS2D), intent(in) :: T1
    type(Mat2D), intent(in) :: M1

    Return Value type(MatS2D)

  • public function DbleXTens4OS3D(D1, T1)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(in) :: D1
    type(Tens4OS3D), intent(in) :: T1

    Return Value type(Tens4OS3D)

  • public function Tens4OS3DXDble(T1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS3D), intent(in) :: T1
    real(kind=C_DOUBLE), intent(in) :: D1

    Return Value type(Tens4OS3D)

  • public function Tens4OS3DXMatS3D(T1, M1)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS3D), intent(in) :: T1
    type(MatS3D), intent(in) :: M1

    Return Value type(MatS3D)

  • public function Tens4OS3DXMat3D(T1, M1)

    Author
    Blaise Bourdin (2016, bourdin@lsu.edu)

    Tens4OS3DXMat3D:

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS3D), intent(in) :: T1
    type(Mat3D), intent(in) :: M1

    Return Value type(MatS3D)

  • public function Mat2DXMat2D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: M1
    type(Mat2D), intent(in) :: M2

    Return Value type(Mat2D)

  • public function Mat2DXMatS2D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: M1
    type(MatS2D), intent(in) :: M2

    Return Value type(Mat2D)

  • public function MatS2DXMatS2D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: M1
    type(MatS2D), intent(in) :: M2

    Return Value type(Mat2D)

  • public function Mat3DXMat3D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: M1
    type(Mat3D), intent(in) :: M2

    Return Value type(Mat3D)

  • public function Mat3DXMatS3D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: M1
    type(MatS3D), intent(in) :: M2

    Return Value type(Mat3D)

  • public function MatS3DXMatS3D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: M1
    type(MatS3D), intent(in) :: M2

    Return Value type(Mat3D)

  • public function DotP2D(V1, V2)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect2D), intent(in) :: V1
    type(Vect2D), intent(in) :: V2

    Return Value real(kind=C_DOUBLE)

  • public function DotP3D(V1, V2)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect3D), intent(in) :: V1
    type(Vect3D), intent(in) :: V2

    Return Value real(kind=C_DOUBLE)

public interface operator(+)

  • public function SumVect2D(V1, V2)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect2D), intent(in) :: V1
    type(Vect2D), intent(in) :: V2

    Return Value type(Vect2D)

  • public function SumVect3D(V1, V2)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect3D), intent(in) :: V1
    type(Vect3D), intent(in) :: V2

    Return Value type(Vect3D)

  • public function SumMat2D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: M1
    type(Mat2D), intent(in) :: M2

    Return Value type(Mat2D)

  • public function SumMat3D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: M1
    type(Mat3D), intent(in) :: M2

    Return Value type(Mat3D)

  • public function SumMatS2D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: M1
    type(MatS2D), intent(in) :: M2

    Return Value type(MatS2D)

  • public function SumMatS3D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: M1
    type(MatS3D), intent(in) :: M2

    Return Value type(MatS3D)

  • public function SumTens4OS2D(T1, T2)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS2D), intent(in) :: T1
    type(Tens4OS2D), intent(in) :: T2

    Return Value type(Tens4OS2D)

  • public function SumTens4OS3D(T1, T2)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS3D), intent(in) :: T1
    type(Tens4OS3D), intent(in) :: T2

    Return Value type(Tens4OS3D)

public interface operator(-)

  • public function DifVect2D(V1, V2)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect2D), intent(in) :: V1
    type(Vect2D), intent(in) :: V2

    Return Value type(Vect2D)

  • public function DifVect3D(V1, V2)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect3D), intent(in) :: V1
    type(Vect3D), intent(in) :: V2

    Return Value type(Vect3D)

  • public function DifMat2D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: M1
    type(Mat2D), intent(in) :: M2

    Return Value type(Mat2D)

  • public function DifMat3D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: M1
    type(Mat3D), intent(in) :: M2

    Return Value type(Mat3D)

  • public function DifMatS2D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: M1
    type(MatS2D), intent(in) :: M2

    Return Value type(MatS2D)

  • public function DifMatS3D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: M1
    type(MatS3D), intent(in) :: M2

    Return Value type(MatS3D)

  • public function DifTens4OS2D(T1, T2)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS2D), intent(in) :: T1
    type(Tens4OS2D), intent(in) :: T2

    Return Value type(Tens4OS2D)

  • public function DifTens4OS3D(T1, T2)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS3D), intent(in) :: T1
    type(Tens4OS3D), intent(in) :: T2

    Return Value type(Tens4OS3D)

public interface operator(.CrossP.)

  • public function CrossP3D(V1, V2)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect3D), intent(in) :: V1
    type(Vect3D), intent(in) :: V2

    Return Value type(Vect3D)

public interface operator(.DotP.)

  • public function DotP2D(V1, V2)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect2D), intent(in) :: V1
    type(Vect2D), intent(in) :: V2

    Return Value real(kind=C_DOUBLE)

  • public function DotP3D(V1, V2)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect3D), intent(in) :: V1
    type(Vect3D), intent(in) :: V2

    Return Value real(kind=C_DOUBLE)

  • public function ContP2D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: M1
    type(Mat2D), intent(in) :: M2

    Return Value real(kind=C_DOUBLE)

  • public function ContP3D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: M1
    type(Mat3D), intent(in) :: M2

    Return Value real(kind=C_DOUBLE)

  • public function ContP2DS(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: M1
    type(MatS2D), intent(in) :: M2

    Return Value real(kind=C_DOUBLE)

  • public function ContP3DS(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: M1
    type(MatS3D), intent(in) :: M2

    Return Value real(kind=C_DOUBLE)

  • public function Mat2DDotMatS2D(M1, M2)

    Author
    Blaise Bourdin (2016, bourdin@lsu.edu)

    Mat2DDotMatS2D:

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: M1
    type(MatS2D), intent(in) :: M2

    Return Value real(kind=C_DOUBLE)

  • public function MatS2DDotMat2D(M1, M2)

    Author
    Blaise Bourdin (2016, bourdin@lsu.edu)

    MatS2DDotMat2D:

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: M1
    type(Mat2D), intent(in) :: M2

    Return Value real(kind=C_DOUBLE)

  • public function Mat3DDotMatS3D(M1, M2)

    Author
    Blaise Bourdin (2016, bourdin@lsu.edu)

    Mat3DDotMatS3D:

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: M1
    type(MatS3D), intent(in) :: M2

    Return Value real(kind=C_DOUBLE)

  • public function MatS3DDotMat3D(M1, M2)

    Author
    Blaise Bourdin (2016, bourdin@lsu.edu)

    MatS3DDotMat3D:

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: M1
    type(Mat3D), intent(in) :: M2

    Return Value real(kind=C_DOUBLE)

public interface operator(.SymP.)

  • public function SymPVect2D(V1, V2)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect2D), intent(in) :: V1
    type(Vect2D), intent(in) :: V2

    Return Value type(MatS2D)

  • public function SymPVect3D(V1, V2)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect3D), intent(in) :: V1
    type(Vect3D), intent(in) :: V2

    Return Value type(MatS3D)

  • public function SymPMatS2D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: M1
    type(MatS2D), intent(in) :: M2

    Return Value type(Tens4OS2D)

  • public function SymPMatS3D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: M1
    type(MatS3D), intent(in) :: M2

    Return Value type(Tens4OS3D)

public interface operator(.TensP.)

  • public function TensPVect2D(V1, V2)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect2D), intent(in) :: V1
    type(Vect2D), intent(in) :: V2

    Return Value type(Mat2D)

  • public function TensPVect3D(V1, V2)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect3D), intent(in) :: V1
    type(Vect3D), intent(in) :: V2

    Return Value type(Mat3D)

public interface operator(.oDot.)

  • public function oDotMatS2D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: M1
    type(MatS2D), intent(in) :: M2

    Return Value type(Tens4OS2D)

  • public function oDotMatS3D(M1, M2)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: M1
    type(MatS3D), intent(in) :: M2

    Return Value type(Tens4OS3D)

public interface operator(/)

  • public function Vect2DQuot(V1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect2D), intent(in) :: V1
    real(kind=C_DOUBLE), intent(in) :: D1

    Return Value type(Vect2D)

  • public function Vect3DQuot(V1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(Vect3D), intent(in) :: V1
    real(kind=C_DOUBLE), intent(in) :: D1

    Return Value type(Vect3D)

  • public function Mat2DQuot(M1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat2D), intent(in) :: M1
    real(kind=C_DOUBLE), intent(in) :: D1

    Return Value type(Mat2D)

  • public function Mat3DQuot(M1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(Mat3D), intent(in) :: M1
    real(kind=C_DOUBLE), intent(in) :: D1

    Return Value type(Mat3D)

  • public function MatS2DQuot(M1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS2D), intent(in) :: M1
    real(kind=C_DOUBLE), intent(in) :: D1

    Return Value type(MatS2D)

  • public function MatS3DQuot(M1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(MatS3D), intent(in) :: M1
    real(kind=C_DOUBLE), intent(in) :: D1

    Return Value type(MatS3D)

  • public function Tens4OS2DQuot(T1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS2D), intent(in) :: T1
    real(kind=C_DOUBLE), intent(in) :: D1

    Return Value type(Tens4OS2D)

  • public function Tens4OS3DQuot(T1, D1)

    Arguments

    Type IntentOptional Attributes Name
    type(Tens4OS3D), intent(in) :: T1
    real(kind=C_DOUBLE), intent(in) :: D1

    Return Value type(Tens4OS3D)

public interface simplexNormal

  • public subroutine simplexNormal2D(Coord, n, ierr)

    Author
    Blaise Bourdin (2013, bourdin@lsu.edu)

    simplexNormal2D: Compute the normal to a simplex in 2D

    Arguments

    Type IntentOptional Attributes Name
    type(Vect2D), dimension(:), pointer :: Coord
    type(Vect2D), intent(out) :: n
    integer(kind=C_INT32_T), intent(inout) :: ierr
  • public subroutine simplexNormal3D(Coord, n, ierr)

    Author
    Blaise Bourdin (2013, bourdin@lsu.edu)

    simplexNormal3D: Compute the normal to a simplex in 3D

    Arguments

    Type IntentOptional Attributes Name
    type(Vect3D), dimension(:), pointer :: Coord
    type(Vect3D), intent(out) :: n
    integer(kind=C_INT32_T), intent(inout) :: ierr

public interface sqrt


Derived Types

type, public, extends(mef90Mat) ::  Mat2D

Components

Type Visibility Attributes Name Initial
real(kind=C_DOUBLE), public :: XX = 0.0_Kr
real(kind=C_DOUBLE), public :: XY = 0.0_Kr
real(kind=C_DOUBLE), public :: YX = 0.0_Kr
real(kind=C_DOUBLE), public :: YY = 0.0_Kr

type, public, extends(mef90Mat) ::  Mat3D

Components

Type Visibility Attributes Name Initial
real(kind=C_DOUBLE), public :: XX = 0.0_Kr
real(kind=C_DOUBLE), public :: XY = 0.0_Kr
real(kind=C_DOUBLE), public :: XZ = 0.0_Kr
real(kind=C_DOUBLE), public :: YX = 0.0_Kr
real(kind=C_DOUBLE), public :: YY = 0.0_Kr
real(kind=C_DOUBLE), public :: YZ = 0.0_Kr
real(kind=C_DOUBLE), public :: ZX = 0.0_Kr
real(kind=C_DOUBLE), public :: ZY = 0.0_Kr
real(kind=C_DOUBLE), public :: ZZ = 0.0_Kr

type, public, extends(mef90Mat) ::  MatS2D

Components

Type Visibility Attributes Name Initial
real(kind=C_DOUBLE), public :: XX = 0.0_Kr
real(kind=C_DOUBLE), public :: XY = 0.0_Kr
real(kind=C_DOUBLE), public :: YY = 0.0_Kr

type, public, extends(mef90Mat) ::  MatS3D

Components

Type Visibility Attributes Name Initial
real(kind=C_DOUBLE), public :: XX = 0.0_Kr
real(kind=C_DOUBLE), public :: XY = 0.0_Kr
real(kind=C_DOUBLE), public :: XZ = 0.0_Kr
real(kind=C_DOUBLE), public :: YY = 0.0_Kr
real(kind=C_DOUBLE), public :: YZ = 0.0_Kr
real(kind=C_DOUBLE), public :: ZZ = 0.0_Kr

type, public, extends(mef90Tens4OS) ::  Tens4OS2D

Components

Type Visibility Attributes Name Initial
real(kind=C_DOUBLE), public :: XXXX
real(kind=C_DOUBLE), public :: XXXY
real(kind=C_DOUBLE), public :: XXYY
real(kind=C_DOUBLE), public :: XYXY
real(kind=C_DOUBLE), public :: YYXY
real(kind=C_DOUBLE), public :: YYYY

type, public, extends(mef90Tens4OS) ::  Tens4OS3D

Components

Type Visibility Attributes Name Initial
real(kind=C_DOUBLE), public :: XXXX
real(kind=C_DOUBLE), public :: XXXY
real(kind=C_DOUBLE), public :: XXXZ
real(kind=C_DOUBLE), public :: XXYY
real(kind=C_DOUBLE), public :: XXYZ
real(kind=C_DOUBLE), public :: XXZZ
real(kind=C_DOUBLE), public :: XYXY
real(kind=C_DOUBLE), public :: XZXY
real(kind=C_DOUBLE), public :: XZXZ
real(kind=C_DOUBLE), public :: YYXY
real(kind=C_DOUBLE), public :: YYXZ
real(kind=C_DOUBLE), public :: YYYY
real(kind=C_DOUBLE), public :: YYYZ
real(kind=C_DOUBLE), public :: YYZZ
real(kind=C_DOUBLE), public :: YZXY
real(kind=C_DOUBLE), public :: YZXZ
real(kind=C_DOUBLE), public :: YZYZ
real(kind=C_DOUBLE), public :: ZZXY
real(kind=C_DOUBLE), public :: ZZXZ
real(kind=C_DOUBLE), public :: ZZYZ
real(kind=C_DOUBLE), public :: ZZZZ

type, public, extends(mef90Vect) ::  Vect2D

Components

Type Visibility Attributes Name Initial
real(kind=C_DOUBLE), public :: X = 0.0_Kr
real(kind=C_DOUBLE), public :: Y = 0.0_Kr

type, public, extends(mef90Vect) ::  Vect3D

Components

Type Visibility Attributes Name Initial
real(kind=C_DOUBLE), public :: X = 0.0_Kr
real(kind=C_DOUBLE), public :: Y = 0.0_Kr
real(kind=C_DOUBLE), public :: Z = 0.0_Kr

Functions

public function Area_Tri_2D(S1, S2, S3)

Arguments

Type IntentOptional Attributes Name
type(Vect2D), intent(in) :: S1
type(Vect2D), intent(in) :: S2
type(Vect2D), intent(in) :: S3

Return Value real(kind=C_DOUBLE)

public function ContP2D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: M1
type(Mat2D), intent(in) :: M2

Return Value real(kind=C_DOUBLE)

public function ContP2DS(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M1
type(MatS2D), intent(in) :: M2

Return Value real(kind=C_DOUBLE)

public function ContP3D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: M1
type(Mat3D), intent(in) :: M2

Return Value real(kind=C_DOUBLE)

public function ContP3DS(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M1
type(MatS3D), intent(in) :: M2

Return Value real(kind=C_DOUBLE)

public function CrossP3D(V1, V2)

Arguments

Type IntentOptional Attributes Name
type(Vect3D), intent(in) :: V1
type(Vect3D), intent(in) :: V2

Return Value type(Vect3D)

public function DbleXMat2D(D1, M1)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(in) :: D1
type(Mat2D), intent(in) :: M1

Return Value type(Mat2D)

public function DbleXMat3D(D1, M1)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(in) :: D1
type(Mat3D), intent(in) :: M1

Return Value type(Mat3D)

public function DbleXMatS2D(D1, M1)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(in) :: D1
type(MatS2D), intent(in) :: M1

Return Value type(MatS2D)

public function DbleXMatS3D(D1, M1)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(in) :: D1
type(MatS3D), intent(in) :: M1

Return Value type(MatS3D)

public function DbleXTens4OS2D(D1, T1)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(in) :: D1
type(Tens4OS2D), intent(in) :: T1

Return Value type(Tens4OS2D)

public function DbleXTens4OS3D(D1, T1)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(in) :: D1
type(Tens4OS3D), intent(in) :: T1

Return Value type(Tens4OS3D)

public function DbleXVect2D(D1, V1)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(in) :: D1
type(Vect2D), intent(in) :: V1

Return Value type(Vect2D)

public function DbleXVect3D(D1, V1)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(in) :: D1
type(Vect3D), intent(in) :: V1

Return Value type(Vect3D)

public function DetMat2D(M)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: M

Return Value real(kind=C_DOUBLE)

public function DetMat3D(M)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: M

Return Value real(kind=C_DOUBLE)

public function DetMatS2D(M)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M

Return Value real(kind=C_DOUBLE)

public function DetMatS3D(M)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M

Return Value real(kind=C_DOUBLE)

public function DeviatoricPart2D(M1)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: M1

Return Value type(Mat2D)

public function DeviatoricPart2DS(M1)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M1

Return Value type(MatS2D)

public function DeviatoricPart3D(M1)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: M1

Return Value type(Mat3D)

public function DeviatoricPart3DS(M1)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M1

Return Value type(MatS3D)

public function DifMat2D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: M1
type(Mat2D), intent(in) :: M2

Return Value type(Mat2D)

public function DifMat3D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: M1
type(Mat3D), intent(in) :: M2

Return Value type(Mat3D)

public function DifMatS2D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M1
type(MatS2D), intent(in) :: M2

Return Value type(MatS2D)

public function DifMatS3D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M1
type(MatS3D), intent(in) :: M2

Return Value type(MatS3D)

public function DifTens4OS2D(T1, T2)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS2D), intent(in) :: T1
type(Tens4OS2D), intent(in) :: T2

Return Value type(Tens4OS2D)

public function DifTens4OS3D(T1, T2)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS3D), intent(in) :: T1
type(Tens4OS3D), intent(in) :: T2

Return Value type(Tens4OS3D)

public function DifVect2D(V1, V2)

Arguments

Type IntentOptional Attributes Name
type(Vect2D), intent(in) :: V1
type(Vect2D), intent(in) :: V2

Return Value type(Vect2D)

public function DifVect3D(V1, V2)

Arguments

Type IntentOptional Attributes Name
type(Vect3D), intent(in) :: V1
type(Vect3D), intent(in) :: V2

Return Value type(Vect3D)

public function DotP2D(V1, V2)

Arguments

Type IntentOptional Attributes Name
type(Vect2D), intent(in) :: V1
type(Vect2D), intent(in) :: V2

Return Value real(kind=C_DOUBLE)

public function DotP3D(V1, V2)

Arguments

Type IntentOptional Attributes Name
type(Vect3D), intent(in) :: V1
type(Vect3D), intent(in) :: V2

Return Value real(kind=C_DOUBLE)

public function Ht_Min_Tri_2D(S1, S2, S3)

Arguments

Type IntentOptional Attributes Name
type(Vect2D), intent(in) :: S1
type(Vect2D), intent(in) :: S2
type(Vect2D), intent(in) :: S3

Return Value real(kind=C_DOUBLE)

public function HydrostaticPart2D(M1)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: M1

Return Value type(Mat2D)

public function HydrostaticPart2DS(M1)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M1

Return Value type(MatS2D)

public function HydrostaticPart3D(M1)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: M1

Return Value type(Mat3D)

public function HydrostaticPart3DS(M1)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M1

Return Value type(MatS3D)

public function InvertMat2D(M)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: M

Return Value type(Mat2D)

public function InvertMat3D(M)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: M

Return Value type(Mat3D)

public function InvertMatS2D(M)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M

Return Value type(MatS2D)

public function InvertMatS3D(M)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M

Return Value type(MatS3D)

public function InvertTens4OS2D(T)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS2D), intent(in) :: T

Return Value type(Tens4OS2D)

public function InvertTens4OS3D(T)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS3D), intent(in) :: T

Return Value type(Tens4OS3D)

public function Mat2DDotMatS2D(M1, M2)

Author
Blaise Bourdin (2016, bourdin@lsu.edu)

Mat2DDotMatS2D:

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: M1
type(MatS2D), intent(in) :: M2

Return Value real(kind=C_DOUBLE)

public function Mat2DMoment(k, A)

Author
Blaise Bourdin (2019, bourdin@lsu.edu)

Mat2DMoment: k-th moment of a 2x2 matrix, i.e tr(A^k)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: k
type(Mat2D), intent(in) :: A

Return Value real(kind=C_DOUBLE)

public function Mat2DNorm(M)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: M

Return Value real(kind=c_double)

public function Mat2DQuot(M1, D1)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: M1
real(kind=C_DOUBLE), intent(in) :: D1

Return Value type(Mat2D)

public function Mat2DXDble(M1, D1)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: M1
real(kind=C_DOUBLE), intent(in) :: D1

Return Value type(Mat2D)

public function Mat2DXMat2D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: M1
type(Mat2D), intent(in) :: M2

Return Value type(Mat2D)

public function Mat2DXMatS2D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: M1
type(MatS2D), intent(in) :: M2

Return Value type(Mat2D)

public function Mat3DDotMatS3D(M1, M2)

Author
Blaise Bourdin (2016, bourdin@lsu.edu)

Mat3DDotMatS3D:

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: M1
type(MatS3D), intent(in) :: M2

Return Value real(kind=C_DOUBLE)

public function Mat3DMoment(k, A)

Author
Blaise Bourdin (2019, bourdin@lsu.edu)

Mat3DMoment: k-th moment of a 3x3 matrix, i.e tr(A^k)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: k
type(Mat3D), intent(in) :: A

Return Value real(kind=C_DOUBLE)

public function Mat3DNorm(M)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: M

Return Value real(kind=c_double)

public function Mat3DQuot(M1, D1)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: M1
real(kind=C_DOUBLE), intent(in) :: D1

Return Value type(Mat3D)

public function Mat3DXDble(M1, D1)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: M1
real(kind=C_DOUBLE), intent(in) :: D1

Return Value type(Mat3D)

public function Mat3DXMat3D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: M1
type(Mat3D), intent(in) :: M2

Return Value type(Mat3D)

public function Mat3DXMatS3D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: M1
type(MatS3D), intent(in) :: M2

Return Value type(Mat3D)

public function MatS2DDotMat2D(M1, M2)

Author
Blaise Bourdin (2016, bourdin@lsu.edu)

MatS2DDotMat2D:

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M1
type(Mat2D), intent(in) :: M2

Return Value real(kind=C_DOUBLE)

public function MatS2DMoment(k, A)

Author
Blaise Bourdin (2019, bourdin@lsu.edu)

MatS2DMoment: k-th moment of a 2x2 symmetric matrix, i.e tr(A^k)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: k
type(MatS2D), intent(in) :: A

Return Value real(kind=C_DOUBLE)

public function MatS2DNorm(M)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M

Return Value real(kind=c_double)

public function MatS2DQuot(M1, D1)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M1
real(kind=C_DOUBLE), intent(in) :: D1

Return Value type(MatS2D)

public function MatS2DXDble(M1, D1)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M1
real(kind=C_DOUBLE), intent(in) :: D1

Return Value type(MatS2D)

public function MatS2DXMatS2D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M1
type(MatS2D), intent(in) :: M2

Return Value type(Mat2D)

public function MatS3DDotMat3D(M1, M2)

Author
Blaise Bourdin (2016, bourdin@lsu.edu)

MatS3DDotMat3D:

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M1
type(Mat3D), intent(in) :: M2

Return Value real(kind=C_DOUBLE)

public function MatS3DMoment(k, A)

Author
Blaise Bourdin (2019, bourdin@lsu.edu)

MatS3DMoment: k-th moment of a 3x3 symmetric matrix, i.e tr(A^k)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: k
type(MatS3D), intent(in) :: A

Return Value real(kind=C_DOUBLE)

public function MatS3DNorm(M)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M

Return Value real(kind=c_double)

public function MatS3DQuot(M1, D1)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M1
real(kind=C_DOUBLE), intent(in) :: D1

Return Value type(MatS3D)

public function MatS3DXDble(M1, D1)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M1
real(kind=Kr), intent(in) :: D1

Return Value type(MatS3D)

public function MatS3DXMatS3D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M1
type(MatS3D), intent(in) :: M2

Return Value type(Mat3D)

public function MatXVect2D(M1, V1)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: M1
type(Vect2D), intent(in) :: V1

Return Value type(Vect2D)

public function MatXVect2DS(M1, V1)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M1
type(Vect2D), intent(in) :: V1

Return Value type(Vect2D)

public function MatXVect3D(M1, V1)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: M1
type(Vect3D), intent(in) :: V1

Return Value type(Vect3D)

public function MatXVect3DS(M1, V1)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M1
type(Vect3D), intent(in) :: V1

Return Value type(Vect3D)

public function RARtMat2D(A, R)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: A
type(Mat2D), intent(in) :: R

Return Value type(Mat2D)

public function RARtMat3D(A, R)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: A
type(Mat3D), intent(in) :: R

Return Value type(Mat3D)

public function RARtMatS2D(A, R)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: A
type(Mat2D), intent(in) :: R

Return Value type(MatS2D)

public function RARtMatS3D(A, R)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: A
type(Mat3D), intent(in) :: R

Return Value type(MatS3D)

public function RtARMat2D(A, R)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: A
type(Mat2D), intent(in) :: R

Return Value type(Mat2D)

public function RtaRMat3D(A, R)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: A
type(Mat3D), intent(in) :: R

Return Value type(Mat3D)

public function RtaRMatS2D(A, R)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: A
type(Mat2D), intent(in) :: R

Return Value type(MatS2D)

public function RtaRMatS3D(A, R)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: A
type(Mat3D), intent(in) :: R

Return Value type(MatS3D)

public function SumMat2D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: M1
type(Mat2D), intent(in) :: M2

Return Value type(Mat2D)

public function SumMat3D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: M1
type(Mat3D), intent(in) :: M2

Return Value type(Mat3D)

public function SumMatS2D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M1
type(MatS2D), intent(in) :: M2

Return Value type(MatS2D)

public function SumMatS3D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M1
type(MatS3D), intent(in) :: M2

Return Value type(MatS3D)

public function SumTens4OS2D(T1, T2)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS2D), intent(in) :: T1
type(Tens4OS2D), intent(in) :: T2

Return Value type(Tens4OS2D)

public function SumTens4OS3D(T1, T2)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS3D), intent(in) :: T1
type(Tens4OS3D), intent(in) :: T2

Return Value type(Tens4OS3D)

public function SumVect2D(V1, V2)

Arguments

Type IntentOptional Attributes Name
type(Vect2D), intent(in) :: V1
type(Vect2D), intent(in) :: V2

Return Value type(Vect2D)

public function SumVect3D(V1, V2)

Arguments

Type IntentOptional Attributes Name
type(Vect3D), intent(in) :: V1
type(Vect3D), intent(in) :: V2

Return Value type(Vect3D)

public function SymPMatS2D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M1
type(MatS2D), intent(in) :: M2

Return Value type(Tens4OS2D)

public function SymPMatS3D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M1
type(MatS3D), intent(in) :: M2

Return Value type(Tens4OS3D)

public function SymPVect2D(V1, V2)

Arguments

Type IntentOptional Attributes Name
type(Vect2D), intent(in) :: V1
type(Vect2D), intent(in) :: V2

Return Value type(MatS2D)

public function SymPVect3D(V1, V2)

Arguments

Type IntentOptional Attributes Name
type(Vect3D), intent(in) :: V1
type(Vect3D), intent(in) :: V2

Return Value type(MatS3D)

public function Symmetrize2D(M1)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: M1

Return Value type(MatS2D)

public function Symmetrize3D(M1)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: M1

Return Value type(MatS3D)

public function Tens4OS2DQuot(T1, D1)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS2D), intent(in) :: T1
real(kind=C_DOUBLE), intent(in) :: D1

Return Value type(Tens4OS2D)

public function Tens4OS2DSquareRoot(T)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS2D), intent(in) :: T

Return Value type(Tens4OS2D)

public function Tens4OS2DTransform(T, M)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS2D), intent(in) :: T

Apply the transformation given by the matrix R to a 4th order tensor i.e. C_{ijkl} = R_{ip}.R_{jq}.R_{kr}.R{ls} A_{pqrs}

type(Mat2D), intent(in) :: M

Return Value type(Tens4OS2D)

public function Tens4OS2DXDble(T1, D1)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS2D), intent(in) :: T1
real(kind=C_DOUBLE), intent(in) :: D1

Return Value type(Tens4OS2D)

public function Tens4OS2DXMat2D(T1, M1)

Author
Blaise Bourdin (2016, bourdin@lsu.edu)

Tens4OS2DXMat2D:

Arguments

Type IntentOptional Attributes Name
type(Tens4OS2D), intent(in) :: T1
type(Mat2D), intent(in) :: M1

Return Value type(MatS2D)

public function Tens4OS2DXMatS2D(T1, M1)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS2D), intent(in) :: T1
type(MatS2D), intent(in) :: M1

Return Value type(MatS2D)

public function Tens4OS3DQuot(T1, D1)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS3D), intent(in) :: T1
real(kind=C_DOUBLE), intent(in) :: D1

Return Value type(Tens4OS3D)

public function Tens4OS3DSquareRoot(T)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS3D), intent(in) :: T

Return Value type(Tens4OS3D)

public function Tens4OS3DTransform(T, M)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS3D), intent(in) :: T

Apply the transformation given by the matrix R to a 4th order tensor i.e. C_{ijkl} = R_{ip}.R_{jq}.R_{kr}.R{ls} A_{pqrs}

type(Mat3D), intent(in) :: M

Return Value type(Tens4OS3D)

public function Tens4OS3DXDble(T1, D1)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS3D), intent(in) :: T1
real(kind=C_DOUBLE), intent(in) :: D1

Return Value type(Tens4OS3D)

public function Tens4OS3DXMat3D(T1, M1)

Author
Blaise Bourdin (2016, bourdin@lsu.edu)

Tens4OS3DXMat3D:

Arguments

Type IntentOptional Attributes Name
type(Tens4OS3D), intent(in) :: T1
type(Mat3D), intent(in) :: M1

Return Value type(MatS3D)

public function Tens4OS3DXMatS3D(T1, M1)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS3D), intent(in) :: T1
type(MatS3D), intent(in) :: M1

Return Value type(MatS3D)

public function TensPVect2D(V1, V2)

Arguments

Type IntentOptional Attributes Name
type(Vect2D), intent(in) :: V1
type(Vect2D), intent(in) :: V2

Return Value type(Mat2D)

public function TensPVect3D(V1, V2)

Arguments

Type IntentOptional Attributes Name
type(Vect3D), intent(in) :: V1
type(Vect3D), intent(in) :: V2

Return Value type(Mat3D)

public function Trace2D(M1)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: M1

Return Value real(kind=C_DOUBLE)

public function Trace2DS(M1)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M1

Return Value real(kind=C_DOUBLE)

public function Trace3D(M1)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: M1

Return Value real(kind=C_DOUBLE)

public function Trace3DS(M1)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M1

Return Value real(kind=C_DOUBLE)

public function Transpose2D(M1)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(in) :: M1

Return Value type(Mat2D)

public function Transpose3D(M1)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(in) :: M1

Return Value type(Mat3D)

public function Vect2DNorm(V)

Overloading euclidian norm of derived types

Arguments

Type IntentOptional Attributes Name
type(Vect2D), intent(in) :: V

Return Value real(kind=c_double)

public function Vect2DQuot(V1, D1)

Arguments

Type IntentOptional Attributes Name
type(Vect2D), intent(in) :: V1
real(kind=C_DOUBLE), intent(in) :: D1

Return Value type(Vect2D)

public function Vect2DXDble(V1, D1)

Arguments

Type IntentOptional Attributes Name
type(Vect2D), intent(in) :: V1
real(kind=C_DOUBLE), intent(in) :: D1

Return Value type(Vect2D)

public function Vect3DNorm(V)

Arguments

Type IntentOptional Attributes Name
type(Vect3D), intent(in) :: V

Return Value real(kind=c_double)

public function Vect3DQuot(V1, D1)

Arguments

Type IntentOptional Attributes Name
type(Vect3D), intent(in) :: V1
real(kind=C_DOUBLE), intent(in) :: D1

Return Value type(Vect3D)

public function Vect3DXDble(V1, D1)

Arguments

Type IntentOptional Attributes Name
type(Vect3D), intent(in) :: V1
real(kind=C_DOUBLE), intent(in) :: D1

Return Value type(Vect3D)

public function Vol_Tetra_3D(V1, V2, V3, V4)

Arguments

Type IntentOptional Attributes Name
type(Vect3D), intent(in) :: V1
type(Vect3D), intent(in) :: V2
type(Vect3D), intent(in) :: V3
type(Vect3D), intent(in) :: V4

Return Value real(kind=C_DOUBLE)

public function oDotMatS2D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M1
type(MatS2D), intent(in) :: M2

Return Value type(Tens4OS2D)

public function oDotMatS3D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M1
type(MatS3D), intent(in) :: M2

Return Value type(Tens4OS3D)


Subroutines

public subroutine Array42Tens4OS2D(T, A)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS2D), intent(out) :: T
real(kind=C_DOUBLE), intent(in), dimension(2, 2, 2, 2) :: A

public subroutine Array42Tens4OS3D(T, A)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS3D), intent(out) :: T
real(kind=C_DOUBLE), intent(in), dimension(3, 3, 3, 3) :: A

public subroutine ArrayGetMat2D(A, M)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(out), dimension(2, 2) :: A
type(Mat2D), intent(in) :: M

public subroutine ArrayGetMat3D(A, M)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(out), dimension(3, 3) :: A
type(Mat3D), intent(in) :: M

public subroutine ArrayGetMatS2D(A, M)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(out), dimension(2, 2) :: A
type(MatS2D), intent(in) :: M

public subroutine ArrayGetMatS3D(A, M)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(out), dimension(3, 3) :: A
type(MatS3D), intent(in) :: M

public subroutine ArrayToTens4OS2D(T, A)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS2D), intent(out) :: T
real(kind=C_DOUBLE), intent(in), dimension(3, 3) :: A

public subroutine ArrayToTens4OS3D(T, A)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS3D), intent(out) :: T
real(kind=C_DOUBLE), intent(in), dimension(6, 6) :: A

public subroutine Mat2DEQ(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(out) :: M1
type(Mat2D), intent(in) :: M2

public subroutine Mat2DGetArray(M, A)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(out) :: M
real(kind=C_DOUBLE), intent(in), dimension(2, 2) :: A

public subroutine Mat2DToMatS2D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(out) :: M1
type(Mat2D), intent(in) :: M2

public subroutine Mat2D_Get_Real(M1, R1)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(out) :: M1
real(kind=C_DOUBLE), intent(in) :: R1

public subroutine Mat3DEQ(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(out) :: M1
type(Mat3D), intent(in) :: M2

public subroutine Mat3DGetArray(M, A)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(out) :: M
real(kind=C_DOUBLE), intent(in), dimension(3, 3) :: A

public subroutine Mat3DToMatS3D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(out) :: M1
type(Mat3D), intent(in) :: M2

public subroutine Mat3D_Get_Real(M1, R1)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(out) :: M1
real(kind=C_DOUBLE), intent(in) :: R1

public subroutine MatS2DEQ(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(out) :: M1
type(MatS2D), intent(in) :: M2

public subroutine MatS2DEigenVectorValues(M, MatProj, MatDiag)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M
type(Mat2D), intent(out) :: MatProj
type(MatS2D), intent(out) :: MatDiag

public subroutine MatS2DGetArray(M, A)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(out) :: M
real(kind=C_DOUBLE), intent(in), dimension(2, 2) :: A

public subroutine MatS2DSpectralDecomposition(M, ppleValues, ppleDirections)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(in) :: M
real(kind=C_DOUBLE), intent(out), dimension(2) :: ppleValues
type(MatS2D), intent(out), dimension(2) :: ppleDirections

public subroutine MatS2DToMat2D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(Mat2D), intent(out) :: M1
type(MatS2D), intent(in) :: M2

public subroutine MatS2D_Get_Real(M1, R1)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(out) :: M1
real(kind=C_DOUBLE), intent(in) :: R1

public subroutine MatS2D_Get_VectR(M1, R1)

Arguments

Type IntentOptional Attributes Name
type(MatS2D), intent(out) :: M1
real(kind=C_DOUBLE), intent(in), dimension(3) :: R1

public subroutine MatS3DEQ(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(out) :: M1
type(MatS3D), intent(in) :: M2

public subroutine MatS3DEigenVectorValues(M, MatProj, MatDiag)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M
type(Mat3D), intent(out) :: MatProj
type(MatS3D), intent(out) :: MatDiag

public subroutine MatS3DGetArray(M, A)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(out) :: M
real(kind=C_DOUBLE), intent(in), dimension(3, 3) :: A

public subroutine MatS3DSpectralDecomposition(M, ppleValues, ppleDirections)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(in) :: M
real(kind=C_DOUBLE), intent(out), dimension(3) :: ppleValues
type(MatS3D), intent(out), dimension(3) :: ppleDirections

public subroutine MatS3DToMat3D(M1, M2)

Arguments

Type IntentOptional Attributes Name
type(Mat3D), intent(out) :: M1
type(MatS3D), intent(in) :: M2

public subroutine MatS3D_Get_Real(M1, R1)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(out) :: M1
real(kind=C_DOUBLE), intent(in) :: R1

public subroutine MatS3D_Get_VectR(M1, R1)

Arguments

Type IntentOptional Attributes Name
type(MatS3D), intent(out) :: M1
real(kind=C_DOUBLE), intent(in), dimension(6) :: R1

public subroutine Tens4OS2D2Array4(A, T)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(out), dimension(2, 2, 2, 2) :: A
type(Tens4OS2D), intent(in) :: T

public subroutine Tens4OS2DEQ(T1, T2)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS2D), intent(out) :: T1
type(Tens4OS2D), intent(in) :: T2

public subroutine Tens4OS2DToArray(A, T)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(out), dimension(3, 3) :: A
type(Tens4OS2D), intent(in) :: T

public subroutine Tens4OS2D_Get_Real(T1, D1)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS2D), intent(out) :: T1
real(kind=C_DOUBLE), intent(in) :: D1

public subroutine Tens4OS3D2Array4(A, T)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(out), dimension(3, 3, 3, 3) :: A
type(Tens4OS3D), intent(in) :: T

public subroutine Tens4OS3DEQ(T1, T2)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS3D), intent(out) :: T1
type(Tens4OS3D), intent(in) :: T2

public subroutine Tens4OS3DToArray(A, T)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(out), dimension(6, 6) :: A
type(Tens4OS3D), intent(in) :: T

public subroutine Tens4OS3D_Get_Real(T1, D1)

Arguments

Type IntentOptional Attributes Name
type(Tens4OS3D), intent(out) :: T1
real(kind=C_DOUBLE), intent(in) :: D1

public subroutine Vect2DEQ(V1, V2)

Arguments

Type IntentOptional Attributes Name
type(Vect2D), intent(out) :: V1
type(Vect2D), intent(in) :: V2

public subroutine Vect2D_Get_Real(V1, R1)

Arguments

Type IntentOptional Attributes Name
type(Vect2D), intent(out) :: V1
real(kind=C_DOUBLE), intent(in) :: R1

public subroutine Vect2D_Get_VectR(V1, R1)

Arguments

Type IntentOptional Attributes Name
type(Vect2D), intent(out) :: V1
real(kind=C_DOUBLE), intent(in), dimension(2) :: R1

public subroutine Vect3DEQ(V1, V2)

Arguments

Type IntentOptional Attributes Name
type(Vect3D), intent(out) :: V1
type(Vect3D), intent(in) :: V2

public subroutine Vect3D_Get_Real(V1, R1)

Arguments

Type IntentOptional Attributes Name
type(Vect3D), intent(out) :: V1
real(kind=C_DOUBLE), intent(in) :: R1

public subroutine Vect3D_Get_VectR(V1, R1)

Arguments

Type IntentOptional Attributes Name
type(Vect3D), intent(out) :: V1
real(kind=C_DOUBLE), intent(in), dimension(3) :: R1

public subroutine VectR_Get_MatS2D(R1, M1)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(out), dimension(3) :: R1
type(MatS2D), intent(in) :: M1

public subroutine VectR_Get_MatS3D(R1, M1)

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(out), dimension(6) :: R1
type(MatS3D), intent(in) :: M1

public subroutine simplexNormal2D(Coord, n, ierr)

Author
Blaise Bourdin (2013, bourdin@lsu.edu)

simplexNormal2D: Compute the normal to a simplex in 2D

Arguments

Type IntentOptional Attributes Name
type(Vect2D), dimension(:), pointer :: Coord
type(Vect2D), intent(out) :: n
integer(kind=C_INT32_T), intent(inout) :: ierr

public subroutine simplexNormal3D(Coord, n, ierr)

Author
Blaise Bourdin (2013, bourdin@lsu.edu)

simplexNormal3D: Compute the normal to a simplex in 3D

Arguments

Type IntentOptional Attributes Name
type(Vect3D), dimension(:), pointer :: Coord
type(Vect3D), intent(out) :: n
integer(kind=C_INT32_T), intent(inout) :: ierr