Skip to content

Commit bf00a7f

Browse files
committed
Add _tensor in src/invariants.jl
1 parent f566f93 commit bf00a7f

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/invariants.jl

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,20 @@ principal_values(x::Union{TensorStress,TensorStrain}) = _eigen(x).values
88

99
principal_axes(x::Union{TensorStress,TensorStrain}) = _eigen(x).vectors
1010

11-
principal_invariants(x::Union{TensorStress,TensorStrain}) = stress_invariants(parent(x))
11+
principal_invariants(x::Union{TensorStress,TensorStrain}) = stress_invariants(_tensor(x))
1212

1313
main_invariants(x::Union{TensorStress,TensorStrain}) =
14-
deviatoric_stress_invariants(parent(x))
14+
deviatoric_stress_invariants(_tensor(x))
1515

1616
for T in (:TensorStress, :TensorStrain)
1717
@eval begin
18-
hydrostatic(x::$T) = $T(vol(SymmetricSecondOrderTensor{3}(float(x))))
19-
deviatoric(x::$T) = $T(dev(SymmetricSecondOrderTensor{3}(float(x))))
18+
hydrostatic(x::$T) = $T(vol(_tensor(x)))
19+
deviatoric(x::$T) = $T(dev(_tensor(x)))
2020
end
2121
end
2222

23+
_tensor(x) = SymmetricSecondOrderTensor{3}(float(x))
24+
2325
function _eigen(x)
2426
x′ = @. x / oneunit(x) # Dimensionless
2527
eg = eigen(Matrix(x′))

0 commit comments

Comments
 (0)