Maritime Propulsion Marine engines, propulsors, electrification and drivetrain news

Williams Grand Prix Technologies Engineering & Design

Energy Storage Engineering

Williams Advanced Engineering

Williams Grand Prix Technologies designs and delivers modular, intelligent battery and control platforms for fast-moving mobility programmes, including electric aircraft, autonomous vehicles, and urban mobility applications. Systems are designed, tested, and validated for scale.

Description

Our Capabilities

html .slider_list > :not(.u-display-contents, .w-dyn-list), .slider_list > .w-dyn-list > * > * > *, .slider_list > .u-display-contents > *, .slider_list > .u-display-contents > .u-display-contents > *, .slider_list > .u-display-contents > .w-dyn-list > * > * > *, .slider_list > .u-display-contents > .u-display-contents > .w-dyn-list > * > * > * { padding-inline: calc(var(--_gap---size) / 2); height: auto !important; flex: 0 0 auto; width: calc(100% / var(--slide-count)); }

Predictive Asset Management

Physics-informed analytics for state-of-health monitoring, fault detection, and remaining useful life estimation.​

Performance Optimisation

Real-time decision support for load prediction, demand response, and multi-source energy management.​

Integrated Control Platforms

Intelligent energy storage engineered for grid-edge and utility applications, scalable from sub-50 kWh to multi-MWh.​

Engineered for the Field

Ruggedised for coastal and industrial environments, with modular architecture for rapid installation and lifecycle maintenance.

document.addEventListener("DOMContentLoaded", () => { document.querySelectorAll("[data-slider='component']:not([data-slider='component'] [data-slider='component'])").forEach((component) => { if (component.dataset.scriptInitialized) return; component.dataset.scriptInitialized = "true"; const swiperElement = component.querySelector(".slider_element"); const swiperWrapper = component.querySelector(".slider_list"); if (!swiperElement || !swiperWrapper) return; function flattenDisplayContents(slot) { if (!slot) return; let child = slot.firstElementChild; while (child && child.classList.contains("u-display-contents")) { while (child.firstChild) { slot.insertBefore(child.firstChild, child); } slot.removeChild(child); child = slot.firstElementChild; } } flattenDisplayContents(swiperWrapper); function removeCMSList(slot) { const dynList = Array.from(slot.children).find((child) => child.classList.contains("w-dyn-list")); if (!dynList) return; const nestedItems = dynList?.querySelector(".w-dyn-items")?.children; if (!nestedItems) return; const staticWrapper = [...slot.children]; [...nestedItems].forEach(el => { const c = [...el.children].find(c => !c.classList.contains('w-condition-invisible')); c && slot.appendChild(c); }); staticWrapper.forEach((el) => el.remove()); } removeCMSList(swiperWrapper); [...swiperWrapper.children].forEach((el) => el.classList.add("swiper-slide")); const followFinger = swiperElement.getAttribute("data-follow-finger") === "true", freeMode = swiperElement.getAttribute("data-free-mode") === "true", mousewheel = swiperElement.getAttribute("data-mousewheel") === "true", slideToClickedSlide = swiperElement.getAttribute("data-slide-to-clicked") === "true", speed = +swiperElement.getAttribute("data-speed") || 600; new Swiper(swiperElement, { slidesPerView: "auto", followFinger: followFinger, loopAdditionalSlides: 10, freeMode: freeMode, slideToClickedSlide: slideToClickedSlide, centeredSlides: false, autoHeight: false, speed: speed, mousewheel: { enabled: mousewheel, forceToAxis: true, }, keyboard: { enabled: true, onlyInViewport: true, }, navigation: { nextEl: component.querySelector("[data-slider='next'] button"), prevEl: component.querySelector("[data-slider='previous'] button"), }, pagination: { el: component.querySelector(".slider_bullet_list"), bulletActiveClass: "is-active", bulletClass: "slider_bullet_item", bulletElement: "button", clickable: true, }, scrollbar: { el: component.querySelector(".slider_draggable_wrap"), draggable: true, dragClass: "slider_draggable_handle", snapOnRelease: true, }, slideActiveClass: "swiper-slide-active-state", slideDuplicateActiveClass: "swiper-slide-active-state", }); }); });

document.addEventListener('DOMContentLoaded', () => { if (!window.gsap) { console.warn('[scramble-text] GSAP not found. Load GSAP before this script.'); return; } gsap.registerPlugin(ScrambleTextPlugin, ScrollTrigger); document.querySelectorAll('[data-scramble-text="true"]').forEach((el) => { const originalText = el.textContent; // Per-element overrides via data attributes const trigger = el.dataset.scrambleTrigger || 'scroll'; // scroll | hover | load const duration = parseFloat(el.dataset.scrambleDuration) || 1.2; // seconds const chars = el.dataset.scrambleChars || 'upperAndLowerCase'; // or custom string e.g. "01" const delay = parseFloat(el.dataset.scrambleDelay) || 0; // seconds const start = el.dataset.scrambleStart || 'top 85%'; // ScrollTrigger start const once = el.dataset.scrambleOnce !== 'false'; // default true const animate = () => { gsap.to(el, { duration, delay, ease: 'none', scrambleText: { text: originalText, chars, revealDelay: 0.2, speed: 0.4, }, }); }; if (trigger === 'scroll') { ScrollTrigger.create({ trigger: el, start, onEnter: animate, once }); } else if (trigger === 'hover') { el.addEventListener('mouseenter', animate); } else if (trigger === 'load') { animate(); } }); });

From pump stations to offshore infrastructure, our systems are built for the full range of critical energy operation.

Water and Wastewater Networks

Asset health monitoring and pump performance optimisation for utility operators.

Renewable Power Generation

Battery storage and predictive analytics for solar, wind, and hybrid renewable assets.

Oil and Gas System Efficiency

Asset condition monitoring and intelligent energy storage for network operators.

Process Industry

Energy storage and predictive analytics for energy-intensive industrial operations.

.image-wrapper { --aspect: var(--lg); --lg: 16 / 9; --md: var(--lg); --sm: var(--md); --xs: var(--sm); aspect-ratio: var(--aspect); width: 100%; position: relative; overflow: clip; } .img-ar { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; } @media (max-width: 52em) { .image-wrapper { --aspect: var(--md); } } @media (max-width: 48em) { .image-wrapper { --aspect: var(--sm); } } @media (max-width: 30em) { .image-wrapper { --aspect: var(--xs); } }

More from Williams Grand Prix Technologies

All services of Williams Grand Prix Technologies →

Similar services