Manual
High-level API
FinEtoolsMultithreading.parallel_make_matrix — Functionparallel_make_matrix(
fes,
u,
createsubd,
matrixupdt!;
ntasks = Threads.nthreads(),
kind = :CSC,
)Assemble a sparse matrix.
Either a :CSC matrix or a :CSR matrix is created. We shall refer to this matrix as a CSX matrix. The process is:
- Construct the incidence relation node-to-elements.
- Construct the incidence relation node-to-neighbors.
- Make the sparse pattern and create a sparse CSX matrix with all values zero.
- Construct the incidence relation element-to-neighbors.
- Compute element coloring.
- Set up domain decomposition.
- Compute and assemble the matrix entries.
Here, createsubd could be
(fessubset) -> FEMMAcoust(IntegDomain(fessubset, GaussRule(3, 2)), material)and matrixupdt! could be
(femm, assmblr) -> acousticstiffness(femm, assmblr, geom, P)parallel_make_matrix(
fes,
dofnums,
ndofs,
FT,
n2e,
createsubd,
matrixupdt!,
ntasks,
kind,
)Assemble a sparse matrix.
- Construct the incidence relation node-to-neighbors.
- Make the sparse pattern and create a sparse CSX matrix with all values zero.
- Construct the incidence relation element-to-neighbors.
- Compute element coloring.
- Set up domain decomposition.
- Compute and assemble the matrix entries.