Theory
M(I,J)=∫In∫Ω∂xi∂NITa∂xi∂NJTbdΩdt
M(I,J)=∫In∫Ωρ∂xi∂NITa∂xi∂NJTbdΩdt
M(I,J)=∫In∫Ω∂xi∂NITakij∂xj∂NJTbdΩdt
M(I,J)=∫In∫Ωρ∂xi∂NITakij∂xj∂NJTbdΩdt
M(I,J)=∫In∫Ω∂xi∂NITaaibj∂xj∂NJTbdΩdt
M(I,J)=∫In∫Ωρ∂xi∂NITaaibj∂xj∂NJTbdΩdt
Methods
STDiffusionMatrix 1
General interface is given below.
mat4 = STDiffusionMatrix(test, trial)
mat2 = DiffusionMatrix(test, trial)
M(I,J)=∫Ω∂xi∂NITa∂xi∂NJTbdΩ
STDiffusionMatrix 2
General interface is given below.
mat4 = STDiffusionMatrix(test, trial, k)
mat2 = DiffusionMatrix(test, trial, k)
!!! example ""
M(I,J)=∫Ωρ∂xi∂NITa∂xi∂NJTbdΩ
Here, ρ is a scalar [[FEVariable_]], therefore, we can obtain this matrix by following call.
mat4 = STDiffusionMatrix(test, trial, k=rho)
mat2 = DiffusionMatrix(test, trial, k=rho)
!!! example ""
M(I,J)=∫Ω∂xi∂NITakij∂xj∂NJTbdΩ
Here, kij is a diffusion tensor [[FEVariable_]], therefore, we can obtain this matrix by following call.
mat4 = STDiffusionMatrix(test, trial, k=k)
mat2 = DiffusionMatrix(test, trial, k=k)
STDiffusionMatrix 3
The general interface in this category is given below.
mat4 = STDiffusionMatrix(test, trial, c1, c2)
mat2 = DiffusionMatrix(test, trial, c1, c2)
!!! note "c1"
c1 is a [[FEVariable_]], which can be a scalar, vector, or a matrix.
!!! note "c2"
c2 is a [[FEVariable_]], which can be a scalar, vector, or a matrix.
!!! note ""
9 types of matrices can be formed from this routine.
!!! example "scalar-scalar"
!!! example "scalar-vector"
!!! example "scalar-matrix"
M(I,J)=∫Ωρ∂xi∂NITakij∂xj∂NJTbdΩ
Here ρ is a scalar and k is a matrix (rank-2 tensor) [[FEVariable_]]. This matrix can be obtained by following expression.
mat4 = STDiffusionMatrix(test, trial, c1=rho, c2=k)
mat2 = DiffusionMatrix(test, trial, c1=rho, c2=k)
STDiffusionMatrix 4
Generic interface is given below.
mat4 = STDiffusionMatrix(test, trial, c1, c2, c3)
mat2 = DiffusionMatrix(test, trial, c1, c2, c3)
M(I,J)=∫Ω∂xi∂NITaaibj∂xj∂NJTbdΩ