Orientation Models

fiberoripy.orientation.ard_rsc_ode(a, A, D, W, xi, b1=0.0, kappa=1.0, b2=0, b3=0, b4=0, b5=0, **kwargs)[source]

ODE describing ARD-RSC model.

Parameters:
a3x3 numpy array

Second-order fiber orientation tensor.

A3x3x3x3 numpy array

Fourth-order fiber orientation tensor.

D3x3 numpy array

Symmetric part of velocity gradient tensor.

W3x3 numpy array

Skew-symmetric part of velocity gradient tensor.

xifloat

Shape factor computed from aspect ratio.

b1float

First parameter of rotary diffusion tensor (0 < b1 < 0.1).

kappafloat

Strain reduction factor (0 < kappa < 1).

b2type

Second parameter of rotary diffusion tensor.

b3type

Third parameter of rotary diffusion tensor.

b4type

Fourth parameter of rotary diffusion tensor.

b5type

Fith parameter of rotary diffusion tensor.

Returns:
3x3 numpy array

Orientation tensor rate.

References

[1]

J. H. Phelps, C. L. Tucker, ‘An anisotropic rotary diffusion model for fiber orientation in short- and long-fiber thermoplastics’, Journal of Non-Newtonian Fluid Mechanics 156, 165-176, 2009. https://doi.org/10.1016/j.jnnfm.2008.08.002

fiberoripy.orientation.folgar_tucker_ode(a, A, D, W, xi, Ci=0.0, **kwargs)[source]

ODE describing the Folgar-Tucker model.

Parameters:
a3x3 numpy array

Second-order fiber orientation tensor.

A3x3x3x3 numpy array

Fourth-order fiber orientation tensor.

D3x3 numpy array

Symmetric part of velocity gradient tensor.

W3x3 numpy array

Skew-symmetric part of velocity gradient tensor.

xifloat

Shape factor computed from aspect ratio.

Cifloat

Fiber interaction constant (typically 0 < Ci < 0.1).

Returns:
3x3 numpy array

Orientation tensor rate.

References

[1]

F. Folgar, C.L. Tucker III, ‘Orientation behavior of fibers in concentrated suspensions’, Journal of Reinforced Plastic Composites 3, 98-119, 1984. https://doi.org/10.1177%2F073168448400300201

fiberoripy.orientation.iard_ode(a, A, D, W, xi, Ci=0.0, Cm=0.0, **kwargs)[source]

ODE describing iARD model.

Parameters:
a3x3 numpy array

Second-order fiber orientation tensor.

A3x3x3x3 numpy array

Fourth-order fiber orientation tensor.

D3x3 numpy array

Symmetric part of velocity gradient tensor.

W3x3 numpy array

Skew-symmetric part of velocity gradient tensor.

xifloat

Shape factor computed from aspect ratio.

Cifloat

Fiber interaction constant (typically 0 < Ci < 0.1).

Cmfloat

Anisotropy factor (0 < Cm < 1).

Returns:
3x3 numpy array

Orientation tensor rate.

References

[1]

Tseng, Huan-Chang; Chang, Rong-Yeu; Hsu, Chia-Hsiang, ‘An objective tensor to predict anisotropic fiber orientation in concentrated suspensions’, Journal of Rheology 60, 215, 2016. https://doi.org/10.1122/1.4939098

fiberoripy.orientation.iardrpr_ode(a, A, D, W, xi, Ci=0.0, Cm=0.0, alpha=0.0, beta=0.0, **kwargs)[source]

ODE describing iARD-RPR model.

Parameters:
a3x3 numpy array

Second-order fiber orientation tensor.

A3x3x3x3 numpy array

Fourth-order fiber orientation tensor.

D3x3 numpy array

Symmetric part of velocity gradient tensor.

W3x3 numpy array

Skew-symmetric part of velocity gradient tensor.

xifloat

Shape factor computed from aspect ratio.

Cifloat

Fiber interaction constant (typically 0 < Ci < 0.1).

Cmfloat

Anisotropy factor (0 < Cm < 1).

alphafloat

Retardance rate (0 < alpha < 1).

betafloat

Retardance tuning factor (0 < beta < 1).

Returns:
3x3 numpy array

Orientation tensor rate.

References

[1]

Tseng, Huan-Chang; Chang, Rong-Yeu; Hsu, Chia-Hsiang, ‘An objective tensor to predict anisotropic fiber orientation in concentrated suspensions’, Journal of Rheology 60, 215, 2016. https://doi.org/10.1122/1.4939098

fiberoripy.orientation.integrate_ori_ode(t, a_flat, L, closure, ori_model, kwargs)[source]

Wrapper to solve fiber reorientation ODE using scipy solvers.

Parameters:
tfloat

Time of evaluation.

a_flat9x1 numpy array

Flattened second-order fiber orientation tensor.

Lfunction handle

Function L(t) to retrieve velocity gradient at time t. Must return 3x3 ndarray.

closure: function handle

Function closure(a) to compute closure approximation. Must return 3x3x3x3 ndarray.

ori_model: function handle

Function ori_model(a, A, D, W, **kwargs) computing the rate of the orientation tensor.

kwargsdict

Keyword arguments for function ori_model.

Returns:
9x1 numpy array

Orientation tensor rate.

fiberoripy.orientation.jeffery_ode(a, A, D, W, xi, **kwargs)[source]

ODE describing Jeffery’s model.

Parameters:
a3x3 numpy array

Second-order fiber orientation tensor.

A3x3x3x3 numpy array

Fourth-order fiber orientation tensor.

D3x3 numpy array

Symmetric part of velocity gradient tensor.

W3x3 numpy array

Skew-symmetric part of velocity gradient tensor.

xifloat

Shape factor computed from aspect ratio.

Returns:
3x3 numpy array

Orientation tensor rate.

References

[1]

G.B. Jeffery ‘The motion of ellipsoidal particles immersed in a viscous fluid’, Proceedings of the Royal Society A, 1922. https://doi.org/10.1098/rspa.1922.0078

fiberoripy.orientation.maier_saupe_ode(a, A, D, W, xi, Ci=0.0, U0=0.0, **kwargs)[source]

ODE using Folgar-Tucker constant and Maier-Saupe potential.

Parameters:
a3x3 numpy array

Second-order fiber orientation tensor.

A3x3x3x3 numpy array

Fourth-order fiber orientation tensor.

D3x3 numpy array

Symmetric part of velocity gradient tensor.

W3x3 numpy array

Skew-symmetric part of velocity gradient tensor.

xifloat

Shape factor computed from aspect ratio.

Cifloat

Fiber interaction constant (typically 0 < Ci < 0.1).

U0float

Maier-Saupe Potential (in 3D stable for y U0 < 8 Ci).

Returns:
3x3 numpy array

Orientation tensor rate.

References

[1]

Arnulf Latz, Uldis Strautins, Dariusz Niedziela, ‘Comparative numerical study of two concentrated fiber suspension models’, Journal of Non-Newtonian Fluid Mechanics 165, 764-781, 2010. https://doi.org/10.1016/j.jnnfm.2010.04.001

fiberoripy.orientation.mori_tanaka_ode(a, A, D, W, xi, c_f=0.0, **kwargs)[source]

ODE describing the modified Jeffery equation based on the Mori-Tanaka model.

Parameters:
a3x3 numpy array

Second-order fiber orientation tensor.

A3x3x3x3 numpy array

Fourth-order fiber orientation tensor.

D3x3 numpy array

Symmetric part of velocity gradient tensor.

W3x3 numpy array

Skew-symmetric part of velocity gradient tensor.

xifloat

Shape factor computed from aspect ratio.

c_ffloat

Fiber volume fraction.

Returns:
3x3 numpy array

Orientation tensor rate.

References

[1]

T. Karl, T. Böhlke, ‘Generalized Micromechanical Formulation of Fiber Orientation Tensor Evolution Equations’, International Journal of Mechanical Sciences 2023. https://doi.org/10.1016/j.ijmecsci.2023.108771

fiberoripy.orientation.mrd_ode(a, A, D, W, xi, Ci=0.0, D1=1.0, D2=0.8, D3=0.15, **kwargs)[source]

ODE describing MRD model.

Parameters:
a3x3 numpy array

Second-order fiber orientation tensor.

A3x3x3x3 numpy array

Fourth-order fiber orientation tensor.

D3x3 numpy array

Symmetric part of velocity gradient tensor.

W3x3 numpy array

Skew-symmetric part of velocity gradient tensor.

xifloat

Shape factor computed from aspect ratio.

Cifloat

Fiber interaction constant (typically 0 < Ci < 0.1).

D1type

Anisotropy factors (D1 > 0).

D2type

Anisotropy factors (D2 > 0).

D3type

Anisotropy factors (D3 > 0).

Returns:
3x3 numpy array

Orientation tensor rate.

References

[1]

A. Bakharev, H. Yu, R. Speight and J. Wang, ‘Using New Anisotropic Rotational Diffusion Model To Improve Prediction Of Short Fibers in Thermoplastic InjectionMolding’, ANTEC, Orlando, 2018.

fiberoripy.orientation.pard_ode(a, A, D, W, xi, Ci=0.0, Omega=0.0, **kwargs)[source]

ODE describing pARD model.

Parameters:
a3x3 numpy array

Second-order fiber orientation tensor.

A3x3x3x3 numpy array

Fourth-order fiber orientation tensor.

D3x3 numpy array

Symmetric part of velocity gradient tensor.

W3x3 numpy array

Skew-symmetric part of velocity gradient tensor.

xifloat

Shape factor computed from aspect ratio.

Cifloat

Fiber interaction constant (typically 0 < Ci < 0.05).

Omegatype

Anisotropy factor (0.5 < Omega < 1).

Returns:
3x3 numpy array

Orientation tensor rate.

References

[1]

Tseng, Huan-Chang; Chang, Rong-Yeu; Hsu, Chia-Hsiang, ‘The use of principal spatial tensor to predict anisotropic fiber orientation in concentrated fiber suspensions’, Journal of Rheology 62, 313, 2017. https://doi.org/10.1122/1.4998520

fiberoripy.orientation.pardrpr_ode(a, A, D, W, xi, Ci=0.0, Omega=0.0, alpha=0.0, **kwargs)[source]

ODE describing pARD-RPR model.

Parameters:
a3x3 numpy array

Second-order fiber orientation tensor.

A3x3x3x3 numpy array

Fourth-order fiber orientation tensor.

D3x3 numpy array

Symmetric part of velocity gradient tensor.

W3x3 numpy array

Skew-symmetric part of velocity gradient tensor.

xifloat

Shape factor computed from aspect ratio.

Cifloat

Fiber interaction constant (typically 0 < Ci < 0.05).

Omegatype

Anisotropy factor (0.5 < Omega < 1).

alphafloat

Retardance rate (0 < alpha < 1).

Returns:
3x3 numpy array

Orientation tensor rate.

References

[1]

Tseng, Huan-Chang; Chang, Rong-Yeu; Hsu, Chia-Hsiang, ‘The use of principal spatial tensor to predict anisotropic fiber orientation in concentrated fiber suspensions’, Journal of Rheology 62, 313, 2017. https://doi.org/10.1122/1.4998520

fiberoripy.orientation.rsc_ode(a, A, D, W, xi, Ci=0.0, kappa=1.0, **kwargs)[source]

ODE describing RSC model.

Parameters:
a3x3 numpy array

Second-order fiber orientation tensor.

A3x3x3x3 numpy array

Fourth-order fiber orientation tensor.

D3x3 numpy array

Symmetric part of velocity gradient tensor.

W3x3 numpy array

Skew-symmetric part of velocity gradient tensor.

xifloat

Shape factor computed from aspect ratio.

Cifloat

Fiber interaction constant (typically 0 < Ci < 0.05).

kappafloat

Strain reduction factor (0 < kappa < 1).

Returns:
3x3 numpy array

Orientation tensor rate.

References

[1]

Jin Wang, John F. O’Gara, and Charles L. Tucker, ‘An objective model for slow orientation kinetics in concentrated fiber suspensions: Theory and rheological evidence’, Journal of Rheology 52, 1179, 2008. https://doi.org/10.1122/1.2946437

Closures

Aspect Ratios

fiberoripy.aspect_ratios.get_cox_aspect_ratio(aspect_ratio)[source]

Compute an equivalent aspect ratio according to Cox.

Parameters:
aspect_ratiofloat

Aspect ratio of a cylindrical fiber.

Returns:
float

Equivalent aspect ratio for an ellipsoid.

References

[1]

Cox, R.G. ‘The motion of long slender bodies in a viscous fluid Part 2. Shear flow.’, J. Fluid Mech. 1971, 45, 625-657. https://doi.org/10.1017/S0022112071000259

fiberoripy.aspect_ratios.get_zhang_aspect_ratio(aspect_ratio)[source]

Compute an equivalent aspect ratio according to Zhang.

Parameters:
aspect_ratiofloat

Aspect ratio of a cylindrical fiber.

Returns:
float

Equivalent aspect ratio for an ellipsoid.

References

[1]

Zhang, D.; Smith, D.E.; Jack, D.A.; Montgomery-Smith, S., ‘Numerical Evaluation of Single Fiber Motion for Short-Fiber-Reinforced Composite Materials Processing.’ J. Manuf. Sci. Eng. 2011, 133, 51002. https://doi.org/10.1115/1.4004831

Fitting