FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
m_utilities Module Reference

This module provides aux functions. More...

Functions/Subroutines

subroutine memget (var, dimn, syze)
 Record used memory. More...
 
subroutine append_int2name (n, fname, n1)
 Insert an integer at end of a file name. More...
 
subroutine insert_int2array (iin, carray)
 Insert an integer into a integer array. More...
 
subroutine tensor_eigen3 (tensor, eigval)
 Given symmetric 3x3 matrix M, compute the eigenvalues. More...
 
subroutine eigen3 (tensor, eigval, princ)
 Compute eigenvalue and eigenvetor for symmetric 3*3 tensor using Jacobi iteration adapted from numerical recipes. More...
 
real(kind=kreal) function determinant (mat)
 Compute determinant for symmetric 3*3 matrix. More...
 
real(kind=kreal) function determinant33 (XJ)
 Compute determinant for 3*3 matrix. More...
 
subroutine fstr_chk_alloc (imsg, sub_name, ierr)
 
subroutine calinverse (NN, A)
 calculate inverse of matrix a More...
 
subroutine cross_product (v1, v2, vn)
 
subroutine transformation (jacob, tm)
 
subroutine get_principal (tensor, eigval, princmatrix)
 
subroutine eigen3d (tensor, eigval, princ)
 
subroutine cardano (a, b, c, x1, x2, x3)
 
subroutine rotate_3dvector_by_rodrigues_formula (r, v)
 
subroutine deriv_general_iso_tensor_func_3d (dpydpx, dydx, eigv, px, py)
 Compute derivative of a general isotropic tensor function of one tensor. More...
 

Detailed Description

This module provides aux functions.

Function/Subroutine Documentation

◆ append_int2name()

subroutine m_utilities::append_int2name ( integer, intent(in)  n,
character(len=*), intent(inout)  fname,
integer, intent(in), optional  n1 
)

Insert an integer at end of a file name.

Definition at line 24 of file utilities.f90.

◆ calinverse()

subroutine m_utilities::calinverse ( integer, intent(in)  NN,
real(kind=kreal), dimension(nn,nn), intent(inout)  A 
)

calculate inverse of matrix a

Definition at line 258 of file utilities.f90.

Here is the caller graph for this function:

◆ cardano()

subroutine m_utilities::cardano ( real(kind=kreal)  a,
real(kind=kreal)  b,
real(kind=kreal)  c,
complex(kind=kreal)  x1,
complex(kind=kreal)  x2,
complex(kind=kreal)  x3 
)

Definition at line 488 of file utilities.f90.

Here is the caller graph for this function:

◆ cross_product()

subroutine m_utilities::cross_product ( real(kind=kreal), dimension(3), intent(in)  v1,
real(kind=kreal), dimension(3), intent(in)  v2,
real(kind=kreal), dimension(3), intent(out)  vn 
)

Definition at line 330 of file utilities.f90.

Here is the caller graph for this function:

◆ deriv_general_iso_tensor_func_3d()

subroutine m_utilities::deriv_general_iso_tensor_func_3d ( real(kind=kreal), dimension(3,3), intent(in)  dpydpx,
real(kind=kreal), dimension(6,6), intent(out)  dydx,
real(kind=kreal), dimension(3,3), intent(in)  eigv,
real(kind=kreal), dimension(3), intent(in)  px,
real(kind=kreal), dimension(3), intent(in)  py 
)

Compute derivative of a general isotropic tensor function of one tensor.

Definition at line 552 of file utilities.f90.

Here is the caller graph for this function:

◆ determinant()

real(kind=kreal) function m_utilities::determinant ( real(kind=kreal), dimension(6)  mat)

Compute determinant for symmetric 3*3 matrix.

Parameters
mattensor

Definition at line 215 of file utilities.f90.

◆ determinant33()

real(kind=kreal) function m_utilities::determinant33 ( real(kind=kreal), dimension(3,3)  XJ)

Compute determinant for 3*3 matrix.

Definition at line 233 of file utilities.f90.

Here is the caller graph for this function:

◆ eigen3()

subroutine m_utilities::eigen3 ( real(kind=kreal), dimension(6), intent(in)  tensor,
real(kind=kreal), dimension(3), intent(out)  eigval,
real(kind=kreal), dimension(3, 3), intent(out)  princ 
)

Compute eigenvalue and eigenvetor for symmetric 3*3 tensor using Jacobi iteration adapted from numerical recipes.

Parameters
[out]eigvalvector containing the eigvalches
[out]princmatrix containing the three principal column vectors

Definition at line 106 of file utilities.f90.

Here is the caller graph for this function:

◆ eigen3d()

subroutine m_utilities::eigen3d ( real(kind=kreal), dimension(6)  tensor,
real(kind=kreal), dimension(3)  eigval,
real(kind=kreal), dimension(3,3)  princ 
)
Parameters
eigvalvector containing the eigvalches
princmatrix containing the three principal column vectors

Definition at line 420 of file utilities.f90.

Here is the call graph for this function:

◆ fstr_chk_alloc()

subroutine m_utilities::fstr_chk_alloc ( integer(kind=kint)  imsg,
character(*)  sub_name,
integer(kind=kint)  ierr 
)

Definition at line 244 of file utilities.f90.

◆ get_principal()

subroutine m_utilities::get_principal ( real(kind=kreal), dimension(1:6)  tensor,
real(kind=kreal), dimension(3)  eigval,
real(kind=kreal), dimension(3,3)  princmatrix 
)

Definition at line 374 of file utilities.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ insert_int2array()

subroutine m_utilities::insert_int2array ( integer, intent(in)  iin,
integer, dimension(:), pointer  carray 
)

Insert an integer into a integer array.

Definition at line 49 of file utilities.f90.

◆ memget()

subroutine m_utilities::memget ( integer  var,
integer  dimn,
integer  syze 
)

Record used memory.

Definition at line 16 of file utilities.f90.

◆ rotate_3dvector_by_rodrigues_formula()

subroutine m_utilities::rotate_3dvector_by_rodrigues_formula ( real(kind=kreal), dimension(3), intent(in)  r,
real(kind=kreal), dimension(3), intent(inout)  v 
)
Parameters
[in]rrotational vector
[in,out]vvector to be rotated

Definition at line 515 of file utilities.f90.

Here is the caller graph for this function:

◆ tensor_eigen3()

subroutine m_utilities::tensor_eigen3 ( real(kind=kreal), dimension(6), intent(in)  tensor,
real(kind=kreal), dimension(3), intent(out)  eigval 
)

Given symmetric 3x3 matrix M, compute the eigenvalues.

Parameters
[out]eigvaleigenvalues

Definition at line 75 of file utilities.f90.

◆ transformation()

subroutine m_utilities::transformation ( real(kind=kreal), dimension(3,3), intent(in)  jacob,
real(kind=kreal), dimension(6,6), intent(out)  tm 
)
Parameters
[in]jacobJacobian
[out]tmtransform matrix

Definition at line 339 of file utilities.f90.

Here is the caller graph for this function: