{"id":13823189,"url":"https://github.com/WolframResearch/FEMAddOns","last_synced_at":"2025-07-08T17:33:08.237Z","repository":{"id":110872079,"uuid":"130865041","full_name":"WolframResearch/FEMAddOns","owner":"WolframResearch","description":"Finite Element Method addons for Wolfram Language","archived":false,"fork":false,"pushed_at":"2024-01-08T08:10:15.000Z","size":19334,"stargazers_count":57,"open_issues_count":0,"forks_count":14,"subscribers_count":24,"default_branch":"master","last_synced_at":"2024-08-05T09:11:35.552Z","etag":null,"topics":["distmesh","domaindecomposition","finite-element-analysis","finite-element-methods","finite-elements","mathematica","wolfram","wolfram-language","wolfram-mathematica","wolframlanguage"],"latest_commit_sha":null,"homepage":null,"language":"Mathematica","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WolframResearch.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":"Contributing.md","funding":null,"license":"License.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-04-24T14:14:11.000Z","updated_at":"2024-08-05T00:17:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"18136366-77e2-4fab-ac16-80efd634e9cf","html_url":"https://github.com/WolframResearch/FEMAddOns","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WolframResearch%2FFEMAddOns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WolframResearch%2FFEMAddOns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WolframResearch%2FFEMAddOns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WolframResearch%2FFEMAddOns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WolframResearch","download_url":"https://codeload.github.com/WolframResearch/FEMAddOns/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225453279,"owners_count":17476696,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["distmesh","domaindecomposition","finite-element-analysis","finite-element-methods","finite-elements","mathematica","wolfram","wolfram-language","wolfram-mathematica","wolframlanguage"],"created_at":"2024-08-04T09:00:24.258Z","updated_at":"2024-11-20T01:30:22.693Z","avatar_url":"https://github.com/WolframResearch.png","language":"Mathematica","readme":"\n# FEMAddOns for the Wolfram Language\n\n[![View notebooks](https://wolfr.am/lA6mO5hv)](https://wolfr.am/Dzga9EH4)\n\nThe [Wolfram Language has build in support for the Finite Element Method](https://www.wolfram.com/language/core-areas/fem/). 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](https://www.wolfram.com/desktop/) and [Mathematica](https://www.wolfram.com/mathematica/).\n\n### Installing and Updating the FEMAddOns release\n\nThe easiest way to install or update the FEMAddOns is to evaluate the following:\n\n    ResourceFunction[\"FEMAddOnsInstall\"][]\n\nThe 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](https://github.com/WolframResearch/FEMAddOns/releases). To install, run the following command in the Wolfram Language:\n\n    PacletInstall[\"/full/path/to/FEMAddOnsX.Y.Z.paclet\"]\n\nEither installation will permanently install the latest version of the FEMAddOns paclet. Installed versions can be enumerated using the command:\n\n    PacletFind[\"FEMAddOns\"]\n\nAnd all versions can be uninstalled using the command:\n\n    PacletUninstall[\"FEMAddOns\"]\n\nTo make use of the documentation it may be necessary to restart.\n\n### Using FEMAddOns\n\nTo 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*.\n\nFor example generate structured meshes with `StructuredMesh`:\n\n\traster = Table[#, {fi, 0, 2 Pi, 2 Pi/360}] \u0026 /@ {{Cos[fi], Sin[fi]}, 0.8*{Cos[fi], Sin[fi]}};\n\tmesh = StructuredMesh[raster, {90, 5}];\n\tmesh[\"Wireframe\"]\n\n![StructuredMesh](Images/structuredMesh.png)\n\n\nWith `ToQuadMesh` convert triangle meshes into quadrilateral meshes:\n\n\tregion = ImplicitRegion[And @@ (# \u003c= 0 \u0026 /@ {-y, 1/25 - (-3/2 + x)^2 - y^2, \n       1 - x^2 - y^2, -4 + x^2 + y^2, y - x*Tan[Pi/8]}), {x, y}];\n\tToQuadMesh[ToElementMesh[region]][\"Wireframe\"]\n\n![triMeshToQuadMesh](Images/triMeshToQuadMesh.png)\n\n\nUse the `DistMesh` mesh generator to create smooth meshes:\n\n\tmesh = DistMesh[RegionDifference[Rectangle[{-1, -1}, {1, 1}], Disk[{0, 0}, 1/2]], \n\t   \"DistMeshRefinementFunction\" -\u003e \n\t    Function[{x, y}, Min[4*Sqrt[Plus @@ ({x, y}^2)] - 1, 2]], \n\t   \"MaxCellMeasure\" -\u003e {\"Length\" -\u003e 0.05}, \n\t   \"IncludePoints\" -\u003e {{-1, -1}, {-1, 1}, {1, -1}, {1, 1}}]; \n\tmesh[\"Wireframe\"]\n\n![DistMesh](Images/distMesh.png)\n\n\n With `ImportMesh` load meshes from Abaqus, Comsol, Elfen and Gmsh  \n\n\tmesh = ImportMesh[ \"filePath\", \"mesh.mphtxt\"];\n\tmesh[\"Wireframe\"]\n\n![screenshot](https://imgur.com/aq92uqA.gif \"Geometry source: https://grabcad.com/    library/goose-2\")\n\n\nUse `DomainDecomposition` to solve stationary PDEs on a cluster:\n\n\tkernels = LaunchKernels[24];\n\tDecompositionNDSolveValue[{Laplacian[u[x, y], {x, y}] == 1, \n\t  DirichletCondition[u[x, y] == 0, \n\t   x == 0 || x == 5 || y == 0 || y == 1]}, u, Element[{x, y}, \n\t  Rectangle[{0, 0}, {5, 1}]], \"Kernels\" -\u003e kernels]\n\n\n### More...\n\nSee the following files for more information:\n\n* [License.md](License.md) - FEMAddOns license\n* [Contributing.md](Contributing.md) - Guidelines for contributing to FEMAddOns\n* [HowToBuild.md](HowToBuild.md) - Instructions for building and debugging FEMAddOns\n* [AlternativeInstallation.md](AlternativeInstallation.md) - Alternative instructions for installing the  FEMAddOns paclet\n","funding_links":[],"categories":["Finite Element Method Analysis"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWolframResearch%2FFEMAddOns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FWolframResearch%2FFEMAddOns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWolframResearch%2FFEMAddOns/lists"}