Skip to contents

Calculates the velocity gradient tensor as the matrix logarithm of the deformation gradient tensor divided by given time, and the deformation gradient tensor accumulated after some time.

Usage

velgrad_from_defgrad(R, time = 1)

defgrad_from_velgrad(V, time = 1, steps = 1)

Arguments

R

3x3 matrix. Deformation gradient tensor.

time

numeric. Total time (default is 1)

V

3x3 matrix. Velocity gradient tensor.

steps

numeric. Time increments (default is 1)

Value

3x3 matrix. If steps is > 1, then a list of matrices is returned.

Examples

D <- defgrad_from_comp(xx = 2, xy = 1, zz = 0.5)
L <- velgrad_from_defgrad(D, time = 10)
L
#>            [,1]       [,2]        [,3]
#> [1,] 0.06931472 0.06931472  0.00000000
#> [2,] 0.00000000 0.00000000  0.00000000
#> [3,] 0.00000000 0.00000000 -0.06931472
defgrad_from_velgrad(L, time = 10, steps = 2)
#> $`0`
#>      [,1] [,2] [,3]
#> [1,]    1    0    0
#> [2,]    0    1    0
#> [3,]    0    0    1
#> attr(,"class")
#> [1] "defgrad"
#> 
#> $`2`
#>          [,1]      [,2]      [,3]
#> [1,] 1.148698 0.1486984 0.0000000
#> [2,] 0.000000 1.0000000 0.0000000
#> [3,] 0.000000 0.0000000 0.8705506
#> attr(,"class")
#> [1] "defgrad"
#> 
#> $`4`
#>          [,1]      [,2]      [,3]
#> [1,] 1.319508 0.3195079 0.0000000
#> [2,] 0.000000 1.0000000 0.0000000
#> [3,] 0.000000 0.0000000 0.7578583
#> attr(,"class")
#> [1] "defgrad"
#> 
#> $`6`
#>          [,1]      [,2]     [,3]
#> [1,] 1.515717 0.5157166 0.000000
#> [2,] 0.000000 1.0000000 0.000000
#> [3,] 0.000000 0.0000000 0.659754
#> attr(,"class")
#> [1] "defgrad"
#> 
#> $`8`
#>          [,1]      [,2]      [,3]
#> [1,] 1.741101 0.7411011 0.0000000
#> [2,] 0.000000 1.0000000 0.0000000
#> [3,] 0.000000 0.0000000 0.5743492
#> attr(,"class")
#> [1] "defgrad"
#> 
#> $`10`
#>      [,1] [,2] [,3]
#> [1,]    2    1  0.0
#> [2,]    0    1  0.0
#> [3,]    0    0  0.5
#> attr(,"class")
#> [1] "defgrad"
#>