File tree Expand file tree Collapse file tree 1 file changed +9
-7
lines changed
Expand file tree Collapse file tree 1 file changed +9
-7
lines changed Original file line number Diff line number Diff line change @@ -8,20 +8,22 @@ principal_values(x::Union{TensorStress,TensorStrain}) = _eigen(x).values
88
99principal_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
1313main_invariants (x:: Union{TensorStress,TensorStrain} ) =
14- deviatoric_stress_invariants (parent (x))
14+ deviatoric_stress_invariants (_tensor (x))
1515
1616for 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
2121end
2222
23+ _tensor (x) = SymmetricSecondOrderTensor {3} (float (x))
24+
2325function _eigen (x)
24- unitless = @. x / oneunit (x)
25- eg = eigen (unitless )
26- return Eigen (eg. values * oneunit (x[ 1 ] ), eg. vectors)
26+ x′ = @. x / oneunit (x) # Dimensionless
27+ eg = eigen (Matrix (x′) )
28+ return Eigen (eg. values * oneunit (eltype (x) ), eg. vectors)
2729end
You can’t perform that action at this time.
0 commit comments