assembleB(data,ele,c):

Define a matrix (B-matrix) such that the gradient of the test functions can be expressed as a product of the B-matrix and the nodal values of the test functions.

Input Arguments

  • data

  • ele - element number

  • c - see config

Output Arguments

  • B_element - B-matrix

assembleFeatureDerivative(data,ele):

Apply chain rule to calculate feature derivatives at element level.

Input Arguments

  • data

  • ele - element number

Output Arguments

  • d_features_dF_element - derivative at element level

assembleGlobalMatrix(matrix_global,matrix_element,connectivity,ele,c):

Add a matrix defined at an element to the corresponding position in the global matrix.

Input Arguments

  • matrix_global - global matrix

  • matrix_element - matrix at element level

  • connectivity - contains connectivity information of the elements

  • ele - element number

  • c - see config

Output Arguments

  • matrix_global - updated global matrix

assembleGlobalVector(vector_global,vector_element,connectivity,ele,c):

Add a vector defined at an element to the corresponding position in the global vector.

Input Arguments

  • vector_global - global vector

  • vector_element - vector at element level

  • connectivity - contains connectivity information of the elements

  • ele - element number

  • c - see config

Output Arguments

  • vector_global - updated global vector

computeInternalForceTheta(data,theta,c):

Compute nodal internal forces for given material parameters.

Input Arguments

  • data

  • theta - material parameters

  • c - see config

Output Arguments

  • f_int_nodes - internal force at each node

computeStrainEnergyTheta(data,theta):

Compute strain energy density for given material parameters.

Input Arguments

  • data

  • theta - material parameters

Output Arguments

  • Psi - strain energy density at each element

  • Psi_total - total strain energy density


computeWeakLHS(data,c):

Compute left hand side of overdetermined linear system for given data. Reaction forces are not consider yet.

Input Arguments

  • data

  • c - see config

Output Arguments

  • LHS - left hand side of overdetermined linear system

computeWeakOverdetermined(data,c):

Compute left and right hand side of the internal-external force balance (weak formulation) at all free and fixed degrees of freedom.

Input Arguments

  • data

  • c - see config

Output Arguments

  • LHS_free - left hand side of non-symmetric linear system

  • RHS_free - right hand side of non-symmetric linear system

  • LHS_fix - left hand side of non-symmetric linear system

  • RHS_fix - right hand side of non-symmetric linear system


considerReactionGlobal(data,LHS,c):

Given overdetermined linear system, add information from global reaction forces.

Input Arguments

  • data

  • LHS - left hand side of symmetric linear system

  • c - see config

Output Arguments

  • LHS - updated left hand side of symmetric linear system

  • RHS - right hand side of symmetric linear system


extendLHSRHS(data,c,LHS,RHS):

Given symmetric linear system, add information from additional data.

Input Arguments

  • data

  • c - see config

  • LHS - left hand side of symmetric linear system

  • RHS - right hand side of symmetric linear system

Output Arguments

  • LHS - updated left hand side of symmetric linear system

  • RHS - updated right hand side of symmetric linear system


zipper(matrix):

Take a Nx2 matrix and assemble a 2Nx1 vector of the same type.

Input Arguments

  • matrix

Output Arguments

  • vector