Related papers: MATLAB Implementation of Element-based Solvers
We propose an effective and flexible way to assemble finite element stiffness and mass matrices in MATLAB. We apply this for problems discretized by edge finite elements. Typical edge finite elements are Raviart-Thomas elements used in…
Rahman and Valdman (2013) introduced a new vectorized way to assemble finite element matrices. We utilize underlying vectorization concepts and extend MATLAB codes to implementation of Bogner-Fox-Schmit C1 rectangular elements in 2D. Our…
We describe different optimization techniques to perform the assembly of finite element matrices in Matlab and Octave, from the standard approach to recent vectorized ones, without any low level language used. We finally obtain a simple and…
Efficient Matlab codes in 2D and 3D have been proposed recently to assemble finite element matrices. In this paper we present simple, compact and efficient vectorized algorithms, which are variants of these codes, in arbitrary dimension,…
We propose an effective and flexible way to implement 2D and 3D elastoplastic problems in MATLAB using fully vectorized codes. Our technique is applied to a broad class of the problems including perfect plasticity or plasticity with…
A simple MATLAB implementation of hierarchical shape functions on 2D rectangles is explained and available for download. Global shape functions are ordered for a given polynomial degree according to the indices of the nodes, edges, or…
We discuss how to implement the linear finite element method for solving the Poisson equation. We begin with the data structure to represent the triangulation and boundary conditions, introduce the sparse matrix, and then discuss the…
The $\ell$FEM MATLAB package provides a simple, efficient, and flexible implementation of isoparametric finite elements in bulk domains and on surfaces. The finite element matrix assemblies are based on MATLAB's paged operators and…
This work presents a novel methodology for speeding up the assembly of stiffness matrices for laminate composite 3D structures in the context of isogeometric and finite element discretizations. By splitting the involved terms into their…
In this work, a recently developed fracture modeling method called localizing gradient damage method (LGDM) is implemented in MATLAB. MATLAB is well-known in the computational research community for its simple and easy-to-learn coding…
When writing high-performance code for numerical computation in a scripting language like MATLAB, it is crucial to have the operations in a large for-loop vectorized. If not, the code becomes too slow to use, even for a moderately large…
Finite element methods require the composition of the global stiffness matrix from local finite element contributions. The composition process combines the computation of element stiffness matrices and their assembly into the global…
This paper summarizes the development of mVEM, a MATLAB software package containing efficient and easy-following codes for various virtual element methods (VEMs) published in the literature. We explain in detail the numerical implementation…
Matrices with hierarchical low-rank structure, including HODLR and HSS matrices, constitute a versatile tool to develop fast algorithms for addressing large-scale problems. While existing software packages for such matrices often focus on…
Nonlinear energy functionals appearing in the calculus of variations can be discretized by the finite element (FE) method and formulated as a sum of energy contributions from local elements. A fast evaluation of energy functionals…
A method for evaluating matrix polynomials have recently been developed that require one fewer matrix product ($1M$) than the Paterson--Stockmeyer (PS) method. Since the computational cost for large-scale matrices is asymptotically…
This manuscript describes a method for training linear SVMs (including binary SVMs, SVM regression, and structural SVMs) from large, out-of-core training datasets. Current strategies for large-scale learning fall into one of two camps;…
This work provides an efficient virtual element scheme for the modeling of nonlinear elastodynamics undergoing large deformations. The virtual element method (VEM) has been applied to various engineering problems such as elasto-plasticity,…
Matrix operations such as matrix inversion, eigenvalue decomposition, singular value decomposition are ubiquitous in real-world applications. Unfortunately, many of these matrix operations so time and memory expensive that they are…
Assembling stiffness matrices represents a significant cost in many finite element computations. We address the question of optimizing the evaluation of these matrices. By finding redundant computations, we are able to significantly reduce…