All Projects → WolframResearch → FEMAddOns

WolframResearch / FEMAddOns

Licence: other
Finite Element Method addons for Wolfram Language

Programming Languages

Mathematica
289 projects

Projects that are alternatives of or similar to FEMAddOns

OpenCascadeLink
Open source package for OpenCascadeLink, which is bundled with Wolfram Language products as of version 12.1
Stars: ✭ 23 (-43.9%)
Mutual labels:  wolframlanguage, finite-element-analysis, wolfram-language, wolfram-mathematica, finite-element-methods
prototypes
miscellaneous wolfram language functions
Stars: ✭ 24 (-41.46%)
Mutual labels:  wolfram, wolframlanguage, wolfram-language, wolfram-mathematica
MinimalFem
podgorskiy.com/spblog/304/writing-a-fem-solver-in-less-the-180-lines-of-code
Stars: ✭ 23 (-43.9%)
Mutual labels:  finite-elements, finite-element-analysis, finite-element-methods
FreeFem-doc
FreeFEM user documentation
Stars: ✭ 98 (+139.02%)
Mutual labels:  finite-elements, finite-element-analysis, finite-element-methods
RhinoLink
Wolfram Language interface to Rhino3D
Stars: ✭ 23 (-43.9%)
Mutual labels:  wolfram, wolframlanguage, wolfram-language
calfem-matlab
CALFEM - a finite element toolbox for MATLAB
Stars: ✭ 53 (+29.27%)
Mutual labels:  finite-elements, finite-element-analysis, finite-element-methods
feappv
FEAPpv -- free personal version of the FEAP
Stars: ✭ 57 (+39.02%)
Mutual labels:  finite-element-analysis, finite-element-methods
codeparser
Parse Wolfram Language source code as abstract syntax trees (ASTs) or concrete syntax trees (CSTs)
Stars: ✭ 84 (+104.88%)
Mutual labels:  wolfram-language, wolfram-mathematica
FreeFem-modules
A collection of mathematically validated modules (EDP) for FreeFEM
Stars: ✭ 28 (-31.71%)
Mutual labels:  finite-elements, finite-element-methods
lsp-wl
A Wolfram Language Server
Stars: ✭ 157 (+282.93%)
Mutual labels:  wolfram-language, wolfram-mathematica
wolfram-notebook-embedder
JavaScript embedder for Wolfram Cloud notebooks
Stars: ✭ 48 (+17.07%)
Mutual labels:  wolfram-language, wolfram-mathematica
Sectrics
Truss Analysis Software Using The Finite Element Method
Stars: ✭ 31 (-24.39%)
Mutual labels:  finite-element-analysis, finite-element-methods
AsFem
A Simple Finite Element Method program (AsFem)
Stars: ✭ 108 (+163.41%)
Mutual labels:  finite-elements, finite-element-analysis
FinEtools.jl
Finite Element tools in Julia
Stars: ✭ 126 (+207.32%)
Mutual labels:  finite-elements, finite-element-methods
vim-mma
💥 A (Neo)vim plugin to provide Wolfram Mathematica language support
Stars: ✭ 20 (-51.22%)
Mutual labels:  wolfram-language, wolfram-mathematica
getfem
Mirror of GetFEM repository
Stars: ✭ 23 (-43.9%)
Mutual labels:  finite-element-analysis, finite-element-methods
FreeFem-website
FreeFEM website
Stars: ✭ 13 (-68.29%)
Mutual labels:  finite-elements, finite-element-methods
ImportMesh
Utilities for importing FEM meshes to Mathematica
Stars: ✭ 14 (-65.85%)
Mutual labels:  wolfram-language, finite-element-methods
ameshref
Efficient Matlab Implementation of Adaptive Mesh Refinement in 2D
Stars: ✭ 28 (-31.71%)
Mutual labels:  finite-elements, finite-element-methods
LTemplate
Extend Mathematica with LibraryLink and C++ with ease
Stars: ✭ 50 (+21.95%)
Mutual labels:  wolfram-language

FEMAddOns for the Wolfram Language

View notebooks

The Wolfram Language has build in support for the Finite Element Method. FEMAddOns is a package that provides additional Finite Element Method functionality. FEMAddOns supports 11.3 and later versions of Wolfram Language deployments for the desktop, including Wolfram Desktop and Mathematica.

Installing and Updating the FEMAddOns release

The easiest way to install or update the FEMAddOns is to evaluate the following:

ResourceFunction["FEMAddOnsInstall"][]

The use of the ResourceFunction requires you to log into your wolfram account. If you can not or do not want to do that then you can install the latest release of the FEMAddOns-X.Y.Z.paclet from the Github repo's releases page. To install, run the following command in the Wolfram Language:

PacletInstall["/full/path/to/FEMAddOnsX.Y.Z.paclet"]

Either installation will permanently install the latest version of the FEMAddOns paclet. Installed versions can be enumerated using the command:

PacletFind["FEMAddOns"]

And all versions can be uninstalled using the command:

PacletUninstall["FEMAddOns"]

To make use of the documentation it may be necessary to restart.

Using FEMAddOns

To access the documentation, open the notebook interface help viewer, and search for FEMAddOns. The first hit will be a summary page enumerating the most commonly used functions in FEMAddOns. From there you can also follow the link to contributed FEM Applications.

For example generate structured meshes with StructuredMesh:

raster = Table[#, {fi, 0, 2 Pi, 2 Pi/360}] & /@ {{Cos[fi], Sin[fi]}, 0.8*{Cos[fi], Sin[fi]}};
mesh = StructuredMesh[raster, {90, 5}];
mesh["Wireframe"]

StructuredMesh

With ToQuadMesh convert triangle meshes into quadrilateral meshes:

region = ImplicitRegion[And @@ (# <= 0 & /@ {-y, 1/25 - (-3/2 + x)^2 - y^2, 
   1 - x^2 - y^2, -4 + x^2 + y^2, y - x*Tan[Pi/8]}), {x, y}];
ToQuadMesh[ToElementMesh[region]]["Wireframe"]

triMeshToQuadMesh

Use the DistMesh mesh generator to create smooth meshes:

mesh = DistMesh[RegionDifference[Rectangle[{-1, -1}, {1, 1}], Disk[{0, 0}, 1/2]], 
   "DistMeshRefinementFunction" -> 
    Function[{x, y}, Min[4*Sqrt[Plus @@ ({x, y}^2)] - 1, 2]], 
   "MaxCellMeasure" -> {"Length" -> 0.05}, 
   "IncludePoints" -> {{-1, -1}, {-1, 1}, {1, -1}, {1, 1}}]; 
mesh["Wireframe"]

DistMesh

With ImportMesh load meshes from Abaqus, Comsol, Elfen and Gmsh

mesh = ImportMesh[ "filePath", "mesh.mphtxt"];
mesh["Wireframe"]

screenshot

Use DomainDecomposition to solve stationary PDEs on a cluster:

kernels = LaunchKernels[24];
DecompositionNDSolveValue[{Laplacian[u[x, y], {x, y}] == 1, 
  DirichletCondition[u[x, y] == 0, 
   x == 0 || x == 5 || y == 0 || y == 1]}, u, Element[{x, y}, 
  Rectangle[{0, 0}, {5, 1}]], "Kernels" -> kernels]

More...

See the following files for more information:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].