femo_alpha.rm_shell.linear_shell_fenicsx.kinematics

Contains basic matrix operations for basis transformations and voigt notation.

Module Contents

Functions

F(uhat)

Compute the determinant of the deformation gradient used in the

J(uhat)

Compute the determinant of the deformation gradient used in the

global_to_local_inplane(E0, E1)

Matrix for change-of-basis to/from local/global Cartesian coordinates,

gradv_local(gradv_global, T)

In-plane gradient components of displacement in the local orthogonal

gradx(f, uhat)

Convert the differential operation from the reference domain

local_basis_inplane(mesh)

E2: Normal vector to each element is the third basis vector of the

unit(v)

Normalize the vector v.

voigt2D(T[, strain])

Convert a 2D symmetric rank-2 tensor T to Voigt notation. If

femo_alpha.rm_shell.linear_shell_fenicsx.kinematics.F(uhat)

Compute the determinant of the deformation gradient used in the integration measure of the deformed configuration wrt the the reference configuration.

uhat: DOLFINx function for mesh movements

femo_alpha.rm_shell.linear_shell_fenicsx.kinematics.J(uhat)

Compute the determinant of the deformation gradient used in the integration measure of the deformed configuration wrt the the reference configuration.

uhat: DOLFINx function for mesh movements

femo_alpha.rm_shell.linear_shell_fenicsx.kinematics.global_to_local_inplane(E0, E1)

Matrix for change-of-basis to/from local/global Cartesian coordinates, where E01[i,j] is the j-th component of the i-th basis vector:

femo_alpha.rm_shell.linear_shell_fenicsx.kinematics.gradv_local(gradv_global, T)

In-plane gradient components of displacement in the local orthogonal coordinate system:

femo_alpha.rm_shell.linear_shell_fenicsx.kinematics.gradx(f, uhat)

Convert the differential operation from the reference domain to the measure in the deformed configuration based on the mesh movement of uhat

f: DOLFINx function for the solution of the physical problem uhat: DOLFIN function for mesh movements

femo_alpha.rm_shell.linear_shell_fenicsx.kinematics.local_basis_inplane(mesh)
E2: Normal vector to each element is the third basis vector of the

local orthonormal basis (indexed from zero for consistency with Python);

E0: Local in-plane orthonormal basis vectors, with 0-th basis vector along

0-th parametric coordinate direction (where Jacobian[i,j] is the partial derivatiave of the i-th physical coordinate w.r.t. to j-th parametric coordinate);

femo_alpha.rm_shell.linear_shell_fenicsx.kinematics.unit(v)

Normalize the vector v.

femo_alpha.rm_shell.linear_shell_fenicsx.kinematics.voigt2D(T, strain=True)

Convert a 2D symmetric rank-2 tensor T to Voigt notation. If strain is true (the default), then the convention for strains is followed, where the off-diagonal component is doubled.