• HOME
  • NEWS
  • EXPLORE
    • CAREER
      • Companies
      • Jobs
    • EVENTS
    • iGEM
      • News
      • Team
    • PHOTOS
    • VIDEO
    • WIKI
  • BLOG
  • COMMUNITY
    • FACEBOOK
    • INSTAGRAM
    • TWITTER
Saturday, November 14, 2026
BIOENGINEER.ORG
No Result
View All Result
  • Login
  • HOME
  • NEWS
  • EXPLORE
    • CAREER
      • Companies
      • Jobs
        • Lecturer
        • PhD Studentship
        • Postdoc
        • Research Assistant
    • EVENTS
    • iGEM
      • News
      • Team
    • PHOTOS
    • VIDEO
    • WIKI
  • BLOG
  • COMMUNITY
    • FACEBOOK
    • INSTAGRAM
    • TWITTER
  • HOME
  • NEWS
  • EXPLORE
    • CAREER
      • Companies
      • Jobs
        • Lecturer
        • PhD Studentship
        • Postdoc
        • Research Assistant
    • EVENTS
    • iGEM
      • News
      • Team
    • PHOTOS
    • VIDEO
    • WIKI
  • BLOG
  • COMMUNITY
    • FACEBOOK
    • INSTAGRAM
    • TWITTER
No Result
View All Result
Bioengineer.org
No Result
View All Result
Home NEWS Science News Technology

Julia package Muscade.jl enables FEM-constrained optimisation

by
November 8, 2026
in Technology
Reading Time: 5 mins read
0
Julia package Muscade.jl enables FEM-constrained optimisation

Julia package Muscade.jl enables FEM-constrained optimisation

Share on FacebookShare on TwitterShare on LinkedinShare on RedditShare on Telegram

Researchers at SINTEF Ocean have released Muscade.jl, a Julia programming package designed to solve finite element method-constrained optimisation problems. The package is written entirely in Julia, a multi-platform just-in-time compiled language that features multiple dispatch, generic programming, and metaprogramming. By leveraging these language capabilities, Muscade.jl aims to improve the productivity of application development while maintaining high computational performance for complex engineering problems.

The core motivation for the software addresses the limitations of traditional FEM-in-the-loop approaches, where established finite element software is repeatedly called to evaluate gradient components for optimisation. While powerful, this method can face accuracy and computational challenges for large problems. Muscade.jl instead uses differentiable finite element methods, allowing for the automatic calculation of derivatives required in optimisation. This approach is particularly useful for inverse problems, where the goal is to estimate unknown loads or model parameters based on available measurements, rather than simply predicting the response of a known system.

The package introduces three distinct classes of degrees of freedom to handle various aspects of the physical system. X-dofs represent the classical variables in forward finite element analysis, providing a discrete representation of the system’s response. U-dofs are additional variables used to represent unknown external loads on the system that need to be estimated. A-dofs represent unknown model parameters, such as structural properties, which are not time-dependent. This classification allows the software to formulate inverse problems where both the response and the underlying causes or parameters are unknowns to be solved simultaneously.

To address the ill-posed nature of these inverse problems, Muscade.jl employs regularisation by embedding additional information into the problem formulation through an objective function. This objective function, often interpreted as a surprisal or negative log-probability, penalises solutions that deviate significantly from measurements or prior knowledge. For example, in load estimation, the software seeks the most probable unknown load and response that satisfy equilibrium constraints while remaining consistent with measured data.

A key architectural feature of Muscade.jl is its use of automatic differentiation to compute the gradients and Hessians required by its solvers. In classical structural analysis, manually deriving and implementing these matrices for complex elements involving plasticity or mixed formulations is a time-consuming and error-prone task. By using forward automatic differentiation via operator overloading, the package can efficiently evaluate these derivatives. The software includes a tailored implementation that allows sub-functions with short vector inputs to be differentiated separately, accelerating the evaluation of the overall system response.

The package offers a suite of solvers tailored to different problem types, including static and dynamic, linear and nonlinear cases. SweepX is a direct solver for forward initial-value problems, while EigX handles modal analysis. For optimisation, SweepXA is designed for design optimisation problems, providing automatic access to gradients and Hessians. For inverse problems, solvers such as FreqXU and DirectXUA are available. DirectXUA is a direct solver for nonlinear dynamic problems that addresses non-causality by solving for all degrees of freedom at all time steps simultaneously. This approach is particularly robust for identifying model parameters in the presence of unknown external forces.

To facilitate the development of application-specific elements, Muscade.jl provides a generic API that is domain-agnostic. Developers can implement elements that contribute to the residual or the Lagrangian, allowing for the inclusion of arbitrary types, units, and physics. The software uses metaprogramming to allow developers to mark intermediate results within element code, making these quantities available to other elements or for post-processing without cluttering the code with explicit output statements. This flexibility enables the creation of custom elements for specific engineering applications, from mechanical structures to heat transfer or electromagnetism.

The authors illustrate the package’s capabilities with an example involving the tuning of a tuning fork. In this scenario, the goal is to estimate the mass of material to remove from the prongs to achieve a target resonance frequency. The problem is formulated as an inverse problem where the mass to be removed is an A-dof. The software compares two solvers: SweepXA, which assumes known excitation and initial conditions, and DirectXUA, which estimates both the unknown load history and the mass parameter. The results show that DirectXUA provides a more robust estimation by identifying forces that steer the computed response near the measured one, leading to a smoother optimisation process.

Another application example involves the load and response estimation on flexible marine structures, such as floating wind turbines and fish farm cages. These structures are subject to significant dynamic loads that can cause fatigue damage. Using inverse solvers, Muscade.jl can reconstruct the complete displacement field across the structure and estimate the external loads that caused these displacements based on sparse measurements. This capability is valuable for validating hydrodynamic models and understanding the structural response of flexible systems in complex environmental conditions.

The software is released under the MIT license, allowing for both open-source and proprietary applications to be built upon it. The current version, 0.8.0, is available on GitHub, with automated tests running on headless GNU/Linux environments. The package depends on several Julia packages, including KrylovKit, LinearAlgebra, and GLMakie for visualization. The authors note that the major version number 0 implies that breaking changes may still occur in the APIs as the software continues to evolve. Further work includes the development of new solvers and improvements for performance scaling in large, dynamic, nonlinear problems.

By leveraging the capabilities of the Julia programming language and automatic differentiation, the package offers a high-productivity platform for developing application-specific solutions. Its domain-agnostic architecture and robust solvers make it suitable for a wide range of applications, from mechanical design to marine hydrodynamics, where the fusion of measurement data with physics-based models is essential.

Performance considerations are central to the package’s design, particularly for large-scale simulations. The authors note that Julia’s garbage collection can introduce significant overhead in the “hot” loops where residual and Lagrangian functions are evaluated repeatedly. To mitigate this, the software encourages developers to use the StaticArrays.jl package, which allocates arrays on the stack rather than the heap. This technique leads to excellent run-time performance but requires developers to master advanced Julia concepts such as immutability and compile-time constants. The package also relies on generic programming to compile a single source code into multiple machine codes, optimised for the specific derivative evaluations required by different solvers.

The element API in Muscade.jl distinguishes itself from established finite element software by allowing degrees of freedom that do not have corresponding residuals. In traditional finite element analysis, every degree of freedom is associated with a differential equation. In Muscade.jl, U-dofs and A-dofs can exist without such equations, enabling the formulation of inverse problems where loads or parameters are estimated. The package also generalises the concept of a finite element to any additive contribution to the residual or the Lagrangian, which means that finite volume or finite difference methods could theoretically be implemented within the same framework.

Subject of Research: Muscade.jl: a Julia package for FEM-constrained optimisation

Article Title: Muscade.jl: a Julia package for FEM-constrained optimisation

Article References: Mainçon, P., & Sauder, T. (2026). Muscade.jl: a Julia package for FEM-constrained optimisation. SoftwareX, 36, Article 103186. https://doi.org/10.1016/j.softx.2026.103186

Image Credits: AI Generated

DOI: 10.1016/j.softx.2026.103186

Keywords: Muscade, Julia, package, FEM-constrained, optimisation, scientific research

News Source: Denise Maddox. (November 8, 2026). Julia package Muscade.jl enables FEM-constrained optimisation. Scienmag.

Tags: FEM-constrainedJuliaMuscadeoptimisationpackagescientific research
Share12Tweet7Share2ShareShareShare1

Related Posts

Online Exposure Therapy Shows Preliminary Tic Reductions in Adult Feasibility Trial

Online Exposure Therapy Shows Preliminary Tic Reductions in Adult Feasibility Trial

November 14, 2026
Korean Amur Goby Olfactory Structures Reveal Adaptations to Stagnant Stream Habitats

Korean Amur Goby Olfactory Structures Reveal Adaptations to Stagnant Stream Habitats

November 14, 2026

Belgrade Heritage Protectors Sustained Conservation Through Wartime Before Facing Institutional Dismemberment

November 14, 2026

Hybrid Light State Enables Amplitude Controlled Routing in Passive Six Port Interferometer

November 14, 2026

POPULAR NEWS

  • Fungus and Resistant Rice Suppress Brown Planthoppers by Reallocating Cellular Lipids

    Fungus and Resistant Rice Suppress Brown Planthoppers by Reallocating Cellular Lipids

    29 shares
    Share 12 Tweet 7
  • Tropical Rhodoliths Exceed Corals in Daytime Carbon Fixation and Calcification Rates

    29 shares
    Share 12 Tweet 7
  • Oven Drying Tuning Enhances Green Cobalt Oxide Electrocatalysis and Antibacterial Action

    29 shares
    Share 12 Tweet 7
  • Fowlerpain-2 antibody detects Naegleria fowleri in laboratory and mouse models

    29 shares
    Share 12 Tweet 7

About

We bring you the latest biotechnology news from best research centers and universities around the world. Check our website.

Follow us

Recent News

Digital Arm Swing Measures Track Progression in Early Untreated Parkinson’s Disease

Wearable Inertial Sensors Detect Knee Motion Linked to Landing Error Scores

Three Radiographic Measures Predict Persistent Coronal Imbalance in Adolescent Scoliosis

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 87 other subscribers
  • Contact Us

Bioengineer.org © Copyright 2023 All Rights Reserved.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
No Result
View All Result
  • Homepages
    • Home Page 1
    • Home Page 2
  • News
  • National
  • Business
  • Health
  • Lifestyle
  • Science

Bioengineer.org © Copyright 2023 All Rights Reserved.