From d96048a2cfe81e6d8b35d9b6130707f58d30d830 Mon Sep 17 00:00:00 2001 From: jinningwang Date: Mon, 18 Mar 2024 16:46:15 -0400 Subject: [PATCH 01/12] [WIP] Update case summary table --- pages/product.md | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/pages/product.md b/pages/product.md index 1f7972a..5bc7393 100644 --- a/pages/product.md +++ b/pages/product.md @@ -22,7 +22,31 @@ LTB platform contains aims a set of power system analysis packages for research # Datasets Datasets for ANDES, AMS, and AGVis are shipped with the respective packages. -A summary table is comming soon. +In total, LTB currently ships Andes with 13 available cases, AMS has 7, and AGVis has 8 cases. ieee39, npcc, and wecc are available across all platforms of LTB. + +A summary table is list below. + +| | ANDES | AMS | AGVis | +|--------------|:-----:|:---:|:-----:| +| ieee39 | ✓ | ✓ | ✓ | +| npcc | ✓ | ✓ | ✓ | +| wecc | ✓ | ✓ | ✓ | +| 5bus | ✓ | ✓ | - | +| GBnewtork | ✓ | - | - | +| ei_33 | ✓ | - | - | +| ieee14 | ✓ | - | - | +| kundur | ✓ | - | - | +| matpower | ✓ | ✓ | - | +| nordic44 | ✓ | - | - | +| smib | ✓ | - | - | +| wscc9 | ✓ | - | - | +| ieee123 | - | ✓ | - | +| ei528 | - | - | ✓ | +| NA | - | - | ✓ | +| ACTIVSg2000 | - | - | ✓ | +| maritime_gas | - | - | ✓ | +| ercot286 | - | - | ✓ | +| ercot286 | | | ✓ | # User Experience Survey From bb2f2f670aaa88d7f147893570f1d0cf1e1576e9 Mon Sep 17 00:00:00 2001 From: jinningwang Date: Thu, 17 Oct 2024 22:53:21 -0400 Subject: [PATCH 02/12] Update team --- _layouts/team.html | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/_layouts/team.html b/_layouts/team.html index 08c2b18..20259c1 100755 --- a/_layouts/team.html +++ b/_layouts/team.html @@ -43,13 +43,14 @@

Dr. Fran Li

Dr. Kevin Tomsovic

Project Co-lead (since 2015)

-

University of Tennessee, Knoxville

+

Clemson University

+

CURENT Affiliate Faculty

HCui

Dr. Hantao Cui

Chief Technologist; Author of ANDES

-

Oklahoma State University

+

North Carolina State University

CURENT Affiliate Faculty

@@ -88,7 +89,7 @@

Core Development Team

HCui

Dr. Hantao Cui

LTB development coordination (2015-2021); ANDES lead developement (since 2018)

-

Oklahoma State University

+

North Carolina State University

CURENT Affiliate Faculty

@@ -100,25 +101,25 @@

Dr. Xin Fang
JWang -

Mr. Jinning Wang

+

Jinning Wang

LTB development coordination (since 2021); AMS development (since 2022)

University of Tennessee, Knoxville

Zack -

Mr. Zackary Malkmus

-

DiME and AGVis development (since 2023)

+

Zackary Malkmus

+

DiME and AGVis development (2023-2024)

University of Tennessee, Knoxville

NParsly -

Mr. Nicholas Parsly

+

Nicholas Parsly

DiME and AGVis development (2022-2023)

Alumni of University of Tennessee, Knoxville

NWest -

Mr. Nicholas West

+

Nicholas West

DiME and AGVis development (2020-2022)

Alumni of University of Tennessee, Knoxville

@@ -145,7 +146,7 @@

Dr. Buxin She

HShuai

Dr. Hang Shuai

-

University of Tennessee, Knoxville

+

Alumni of University of Tennessee, Knoxville

From a97dea723180f922ba7fe03e9262ec3889b18fd6 Mon Sep 17 00:00:00 2001 From: jinningwang Date: Thu, 17 Oct 2024 22:55:15 -0400 Subject: [PATCH 03/12] Update gemfile --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c3b8c7d..314e4c0 100755 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -96,4 +96,4 @@ DEPENDENCIES listen BUNDLED WITH - 1.17.1 + 2.5.22 From 24b434a75eff4ae103dde7d6bf8b32ef67d00bed Mon Sep 17 00:00:00 2001 From: jinningwang Date: Thu, 17 Oct 2024 23:08:07 -0400 Subject: [PATCH 04/12] Fix deprecation --- _sass/foundation-components/_side-nav.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_sass/foundation-components/_side-nav.scss b/_sass/foundation-components/_side-nav.scss index d16be15..100b7af 100755 --- a/_sass/foundation-components/_side-nav.scss +++ b/_sass/foundation-components/_side-nav.scss @@ -22,7 +22,7 @@ $side-nav-list-margin: rem-calc(0 0 7 0) !default; $side-nav-link-color: $primary-color !default; $side-nav-link-color-active: scale-color($side-nav-link-color, $lightness: 30%) !default; $side-nav-link-color-hover: scale-color($side-nav-link-color, $lightness: 30%) !default; -$side-nav-link-bg-hover: hsla(0, 0, 0, 0.025) !default; +$side-nav-link-bg-hover: hsla(0, 0%, 0%, 0.025) !default; $side-nav-link-margin: 0 !default; $side-nav-link-padding: rem-calc(7 14) !default; $side-nav-font-size: rem-calc(14) !default; From 7e288312bbbfcb3e2e94209dc1ba1c42ec2dea61 Mon Sep 17 00:00:00 2001 From: jinningwang Date: Thu, 17 Oct 2024 23:11:59 -0400 Subject: [PATCH 05/12] Fix deprecation --- _sass/foundation-components/_grid.scss | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/_sass/foundation-components/_grid.scss b/_sass/foundation-components/_grid.scss index aa4e77c..203b352 100755 --- a/_sass/foundation-components/_grid.scss +++ b/_sass/foundation-components/_grid.scss @@ -2,6 +2,7 @@ // foundation.zurb.com // Licensed under MIT Open Source +@use "sass:math"; @import "global"; // @@ -116,8 +117,8 @@ $last-child-float: $opposite-direction !default; // Gutter padding whenever a column isn't set to collapse // (use $collapse:null to do nothing) @else if $collapse == false { - padding-left: ($column-gutter / 2); - padding-right: ($column-gutter / 2); + padding-left: math.div($column-gutter, 2); + padding-right: math.div($column-gutter, 2); } // If a column number is given, calculate width From 3395a1d8b4f426b7fb2d60c2cc3b3d445f07a0d6 Mon Sep 17 00:00:00 2001 From: jinningwang Date: Thu, 17 Oct 2024 23:13:14 -0400 Subject: [PATCH 06/12] Fix deprecation --- _sass/foundation-components/_grid.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_sass/foundation-components/_grid.scss b/_sass/foundation-components/_grid.scss index 203b352..ad5f8f7 100755 --- a/_sass/foundation-components/_grid.scss +++ b/_sass/foundation-components/_grid.scss @@ -30,7 +30,7 @@ $last-child-float: $opposite-direction !default; // $colNumber - Found in settings file // $totalColumns - Found in settings file @function grid-calc($colNumber, $totalColumns) { - @return percentage(($colNumber / $totalColumns)); + @return percentage(math.div($colNumber, $totalColumns)); } // From f4cdaf5e0b48227cc32b6ab9c475a355e26923d1 Mon Sep 17 00:00:00 2001 From: jinningwang Date: Thu, 17 Oct 2024 23:46:42 -0400 Subject: [PATCH 07/12] Fix deprecation --- _sass/foundation-components/_forms.scss | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/_sass/foundation-components/_forms.scss b/_sass/foundation-components/_forms.scss index 80124fd..b5e7c49 100755 --- a/_sass/foundation-components/_forms.scss +++ b/_sass/foundation-components/_forms.scss @@ -2,6 +2,7 @@ // foundation.zurb.com // Licensed under MIT Open Source +@use "sass:math"; @import "global"; @import "buttons"; @@ -84,10 +85,11 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default; // We use this mixin to give us form styles for rows inside of forms @mixin form-row-base { - .row { margin: 0 ((-$form-spacing) / 2); + .row { + margin: 0 math.div(-$form-spacing, 2); .column, - .columns { padding: 0 ($form-spacing / 2); } + .columns { padding: 0 math.div(-$form-spacing, 2); } // Use this to collapse the margins of a form row &.collapse { margin: 0; @@ -103,7 +105,9 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default; input.column, input.columns, textarea.column, - textarea.columns { padding-#{$default-float}: ($form-spacing / 2); } + textarea.columns { + padding-#{$default-float}: math.div($form-spacing, 2); + } } // @MIXIN @@ -122,7 +126,7 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default; display: block; font-size: $input-font-size; margin: 0 0 $form-spacing 0; - padding: $form-spacing / 2; + padding: math.div($form-spacing, 2); height: ($input-font-size + ($form-spacing * 1.5) - rem-calc(1)); width: 100%; @include box-sizing(border-box); @@ -176,7 +180,7 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default; } @else if $alignment == inline { margin: 0 0 $form-spacing 0; - padding: $form-spacing / 2 + rem-calc($input-border-width) 0; + padding: math.div($form-spacing, 2) + rem-calc($input-border-width) 0; } } @@ -343,7 +347,7 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default; width: $input-border-width; color: $input-border-color; } - padding: ($form-spacing / 2); + padding: math.div($form-spacing, 2); font-size: $input-font-size; font-family: $body-font-family; color: $input-font-color; From 7d2953bd0402359b62fc9606e21e1caab8c2fb05 Mon Sep 17 00:00:00 2001 From: jinningwang Date: Fri, 18 Oct 2024 00:02:21 -0400 Subject: [PATCH 08/12] Fix deprecation --- _sass/_functions.scss | 6 ++++-- _sass/foundation-components/_accordion.scss | 3 ++- _sass/foundation-components/_alert-boxes.scss | 3 ++- _sass/foundation-components/_block-grid.scss | 9 +++++---- _sass/foundation-components/_button-groups.scss | 3 ++- _sass/foundation-components/_dropdown-buttons.scss | 9 +++++---- _sass/foundation-components/_global.scss | 5 +++-- _sass/foundation-components/_grid.scss | 4 ++-- _sass/foundation-components/_panels.scss | 3 ++- _sass/foundation-components/_top-bar.scss | 13 +++++++------ 10 files changed, 34 insertions(+), 24 deletions(-) diff --git a/_sass/_functions.scss b/_sass/_functions.scss index 60dd1e2..7e5ba8f 100755 --- a/_sass/_functions.scss +++ b/_sass/_functions.scss @@ -3,6 +3,8 @@ // foundation.zurb.com // Licensed under MIT Open Source +@use "sass:math"; + // This is the default html and body font-size for the base rem value. $rem-base: 16px !default; @@ -44,7 +46,7 @@ $modules: () !default; // STRIP UNIT // It strips the unit of measure and returns it @function strip-unit($num) { - @return $num / ($num * 0 + 1); + @return math.div($num, ($num * 0 + 1)); } // TEXT INPUT TYPES @@ -90,7 +92,7 @@ $modules: () !default; // CONVERT TO REM @function convert-to-rem($value, $base-value: $rem-base) { - $value: strip-unit($value) / strip-unit($base-value) * 1rem; + $value: math.div(strip-unit($value), strip-unit($base-value)) * 1rem; @if ($value == 0rem) { $value: 0; } // Turn 0rem into 0 @return $value; } diff --git a/_sass/foundation-components/_accordion.scss b/_sass/foundation-components/_accordion.scss index fb57509..ba4c812 100755 --- a/_sass/foundation-components/_accordion.scss +++ b/_sass/foundation-components/_accordion.scss @@ -2,6 +2,7 @@ // foundation.zurb.com // Licensed under MIT Open Source +@use "sass:math"; @import "global"; // @@ -18,7 +19,7 @@ $accordion-navigation-font-color: $jet !default; $accordion-navigation-font-size: rem-calc(16) !default; $accordion-navigation-font-family: $body-font-family !default; -$accordion-content-padding: ($column-gutter/2) !default; +$accordion-content-padding: math.div($column-gutter, 2) !default; $accordion-content-active-bg-color: $white !default; diff --git a/_sass/foundation-components/_alert-boxes.scss b/_sass/foundation-components/_alert-boxes.scss index 493fbaa..93bde1c 100755 --- a/_sass/foundation-components/_alert-boxes.scss +++ b/_sass/foundation-components/_alert-boxes.scss @@ -2,6 +2,7 @@ // foundation.zurb.com // Licensed under MIT Open Source +@use "sass:math"; @import "global"; // @@ -88,7 +89,7 @@ $alert-transition-ease: ease-out !default; line-height: 0; position: absolute; top: $alert-close-top; - margin-top: -($alert-close-font-size / 2); + margin-top: math.div(-$alert-close-font-size, 2); #{$opposite-direction}: $alert-close-position; color: $alert-close-color; opacity: $alert-close-opacity; diff --git a/_sass/foundation-components/_block-grid.scss b/_sass/foundation-components/_block-grid.scss index 5c7bf14..0760f5f 100755 --- a/_sass/foundation-components/_block-grid.scss +++ b/_sass/foundation-components/_block-grid.scss @@ -2,6 +2,7 @@ // foundation.zurb.com // Licensed under MIT Open Source +@use "sass:math"; @import "global"; // @@ -43,7 +44,7 @@ $block-grid-media-queries: true !default; @if $align-block-grid-to-grid { margin: 0; } @else { - margin: 0 (-$spacing/2); + margin: 0 math.div(-$spacing, 2); } @include clearfix; @@ -52,16 +53,16 @@ $block-grid-media-queries: true !default; height: auto; float: $default-float; @if $include-spacing { - padding: 0 ($spacing/2) $spacing; + padding: 0 math.div($spacing, 2) $spacing; } } } @if $per-row { &>li { - width: 100%/$per-row; + width: math.div(100%, $per-row); @if $include-spacing { - padding: 0 ($spacing/2) $spacing; + padding: 0 math.div($spacing, 2) $spacing; } list-style: none; diff --git a/_sass/foundation-components/_button-groups.scss b/_sass/foundation-components/_button-groups.scss index c989dfb..32a52af 100755 --- a/_sass/foundation-components/_button-groups.scss +++ b/_sass/foundation-components/_button-groups.scss @@ -2,6 +2,7 @@ // foundation.zurb.com // Licensed under MIT Open Source +@use "sass:math"; @import "global"; @import "buttons"; @@ -138,7 +139,7 @@ $button-group-border-width: 1px !default; // We use this to make the buttons even width across their container @if $even { - width: percentage((100/$even) / 100); + width: percentage(math.div(math.div(100, $even), 100)); button, .button { width: 100%; } } } diff --git a/_sass/foundation-components/_dropdown-buttons.scss b/_sass/foundation-components/_dropdown-buttons.scss index 3e45e5a..f4a8f94 100755 --- a/_sass/foundation-components/_dropdown-buttons.scss +++ b/_sass/foundation-components/_dropdown-buttons.scss @@ -2,6 +2,7 @@ // foundation.zurb.com // Licensed under MIT Open Source +@use "sass:math"; @import "global"; // @@ -22,25 +23,25 @@ $button-pip-lrg: rem-calc(11) !default; $dropdown-button-padding-tny: $button-pip-tny * 7 !default; $dropdown-button-pip-size-tny: $button-pip-tny !default; $dropdown-button-pip-opposite-tny: $button-pip-tny * 3 !default; -$dropdown-button-pip-top-tny: (-$button-pip-tny / 2) + rem-calc(1) !default; +$dropdown-button-pip-top-tny: math.div(-$button-pip-tny, 2) + rem-calc(1) !default; // We use these to style small dropdown buttons $dropdown-button-padding-sml: $button-pip-sml * 7 !default; $dropdown-button-pip-size-sml: $button-pip-sml !default; $dropdown-button-pip-opposite-sml: $button-pip-sml * 3 !default; -$dropdown-button-pip-top-sml: (-$button-pip-sml / 2) + rem-calc(1) !default; +$dropdown-button-pip-top-sml: math.div(-$button-pip-sml, 2) + rem-calc(1) !default; // We use these to style medium dropdown buttons $dropdown-button-padding-med: $button-pip-med * 6 + rem-calc(3) !default; $dropdown-button-pip-size-med: $button-pip-med - rem-calc(3) !default; $dropdown-button-pip-opposite-med: $button-pip-med * 2.5 !default; -$dropdown-button-pip-top-med: (-$button-pip-med / 2) + rem-calc(2) !default; +$dropdown-button-pip-top-med: math.div(-$button-pip-med, 2) + rem-calc(2) !default; // We use these to style large dropdown buttons $dropdown-button-padding-lrg: $button-pip-lrg * 5 + rem-calc(3) !default; $dropdown-button-pip-size-lrg: $button-pip-lrg - rem-calc(6) !default; $dropdown-button-pip-opposite-lrg: $button-pip-lrg * 2.5 !default; -$dropdown-button-pip-top-lrg: (-$button-pip-lrg / 2) + rem-calc(3) !default; +$dropdown-button-pip-top-lrg: math.div(-$button-pip-lrg, 2) + rem-calc(3) !default; // @mixins // diff --git a/_sass/foundation-components/_global.scss b/_sass/foundation-components/_global.scss index 37d96eb..faeaf58 100755 --- a/_sass/foundation-components/_global.scss +++ b/_sass/foundation-components/_global.scss @@ -2,6 +2,7 @@ // foundation.zurb.com // Licensed under MIT Open Source +@use "sass:math"; @import "../functions"; // // Foundation Variables @@ -138,7 +139,7 @@ $base-line-height: 1.5 !default; } @else { top: 50%; - margin-top: (-$width/2); + margin-top: math.div(-$width, 2); } @if $left { left: $left; @@ -149,7 +150,7 @@ $base-line-height: 1.5 !default; } @else { top: 50%; - margin-top: -($width/2); + margin-top: math.div(-$width, 2); #{$opposite-direction}: $topbar-link-padding; } diff --git a/_sass/foundation-components/_grid.scss b/_sass/foundation-components/_grid.scss index ad5f8f7..6554c75 100755 --- a/_sass/foundation-components/_grid.scss +++ b/_sass/foundation-components/_grid.scss @@ -46,8 +46,8 @@ $last-child-float: $opposite-direction !default; // use @include grid-row(nest); to include a nested row @if $behavior == nest { width: auto; - margin-#{$default-float}: -($column-gutter/2); - margin-#{$opposite-direction}: -($column-gutter/2); + margin-#{$default-float}: math.div(-$column-gutter, 2); + margin-#{$opposite-direction}: math.div(-$column-gutter, 2); margin-top: 0; margin-bottom: 0; max-width: none; diff --git a/_sass/foundation-components/_panels.scss b/_sass/foundation-components/_panels.scss index b3018e3..b9227ec 100755 --- a/_sass/foundation-components/_panels.scss +++ b/_sass/foundation-components/_panels.scss @@ -2,6 +2,7 @@ // foundation.zurb.com // Licensed under MIT Open Source +@use "sass:math"; @import "global"; // @@ -66,7 +67,7 @@ $callout-panel-link-color-hover: scale-color($callout-panel-link-color, $lightne // reset header line-heights for panels h1,h2,h3,h4,h5,h6 { - line-height: 1; margin-bottom: rem-calc(20) / 2; + line-height: 1; margin-bottom: math.div(rem-calc(20), 2); &.subheader { line-height: 1.4; } } } diff --git a/_sass/foundation-components/_top-bar.scss b/_sass/foundation-components/_top-bar.scss index ce59a47..e5e5aad 100755 --- a/_sass/foundation-components/_top-bar.scss +++ b/_sass/foundation-components/_top-bar.scss @@ -2,6 +2,7 @@ // foundation.zurb.com // Licensed under MIT Open Source +@use "sass:math"; @import "global"; @import "grid"; @import "buttons"; @@ -39,7 +40,7 @@ $topbar-link-bg-active: $primary-color !default; $topbar-link-bg-active-hover: scale-color($primary-color, $lightness: -14%) !default; $topbar-link-font-family: $body-font-family !default; $topbar-link-text-transform: none !default; -$topbar-link-padding: ($topbar-height / 3) !default; +$topbar-link-padding: math.div($topbar-height, 3) !default; $topbar-back-link-size: rem-calc(18) !default; $topbar-link-dropdown-padding: rem-calc(20) !default; $topbar-button-font-size: 0.75rem !default; @@ -381,7 +382,7 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text @include css-triangle($topbar-dropdown-toggle-size, rgba($topbar-dropdown-toggle-color, $topbar-dropdown-toggle-alpha), $default-float); } margin-#{$opposite-direction}: $topbar-link-padding; - margin-top: -($topbar-dropdown-toggle-size / 2) - 2; + margin-top: math.div(-$topbar-dropdown-toggle-size, 2) - 2; position: absolute; top: 50%; #{$opposite-direction}: 0; @@ -468,7 +469,7 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text font-size: rem-calc(14); position: relative; height: $topbar-input-height; - top: (($topbar-height - $topbar-input-height) / 2); + top: (math.div(($topbar-height - $topbar-input-height), 2)); } &.expanded { background: $topbar-bg; } @@ -538,8 +539,8 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text padding-#{$opposite-direction}: $topbar-link-padding + $topbar-link-dropdown-padding !important; &:after { @include css-triangle($topbar-dropdown-toggle-size, rgba($topbar-dropdown-toggle-color, $topbar-dropdown-toggle-alpha), top); - margin-top: -($topbar-dropdown-toggle-size / 2); - top: ($topbar-height / 2); + margin-top: math.div(-$topbar-dropdown-toggle-size, 2); + top: math.div($topbar-height, 2); } } } @@ -630,7 +631,7 @@ $topbar-dropdown-arrows: true !default; //Set false to remove the \00bb >> text .has-form { background: $topbar-link-bg; - padding: 0 ($topbar-height / 3); + padding: 0 math.div($topbar-height, 3); height: $topbar-height; } From 45e1a0f10a9d4ace3fd104990bddba3c6be54936 Mon Sep 17 00:00:00 2001 From: jinningwang Date: Fri, 18 Oct 2024 00:23:04 -0400 Subject: [PATCH 09/12] Update homepage --- _layouts/home.html | 52 ++++++++++++++++++++++------------------- images/CURENT_Logo.png | Bin 0 -> 88399 bytes 2 files changed, 28 insertions(+), 24 deletions(-) create mode 100644 images/CURENT_Logo.png diff --git a/_layouts/home.html b/_layouts/home.html index 57ce271..9bacb25 100755 --- a/_layouts/home.html +++ b/_layouts/home.html @@ -98,7 +98,6 @@

-
@@ -107,20 +106,18 @@

- CURENT + + CURENT

-

- Large-scale Testbed +

+ Large-scale Testbed

@@ -153,12 +150,12 @@

Try It Now!

Overview

The CURENT Large-scale Testbed (LTB) is a state-of-the-art research facility designed for rapid prototyping of power systems. It is a tightly integrated, closed-loop platform consisting of four major independent packages: - ANDES for dynamic simulation, - AMS for dispatch simulation, - AGVis for grid visualization, + ANDES for transient stability modeling and simulation, + AMS for scheduling modeling and simulation, + AGVis for grid geographical visualization, and DiME for distributed messaging environment. - These LTB packages can be used individually or in a federated manner, making it a versatile and comprehensive platform for power system research - and development. + These LTB packages can work independently while being interopereable with each other, making it a versatile and comprehensive + platform for power system research and development.

Getting Started

@@ -168,17 +165,24 @@

Getting Started

Design Philosophy

The purpose of LTB is to offer a rapid prototyping environment for power system research and development. - We kindly ask that you cite the following papers if LTB is used in your research. -

    -
  1. F. Li, K. Tomsovic and H. Cui, "A Large-Scale Testbed as a Virtual Power Grid: For Closed-Loop Controls in Research and Testing," - in IEEE Power and Energy Magazine, vol. 18, no. 2, pp. 60-68, March-April 2020, doi: 10.1109/MPE.2019.2959054.
  2. -
  3. H. Cui, F. Li and K. Tomsovic, "Hybrid Symbolic-Numeric Framework for Power System Modeling and Analysis," - in IEEE Transactions on Power Systems, vol. 36, no. 2, pp. 1373-1384, March 2021, doi: 10.1109/TPWRS.2020.3017019.
  4. -
  5. N. Parsly, J. Wang, N. West, Q. Zhang, H. Cui and F. Li, "DiME and AGVis: A Distributed Messaging Environment and Geographical - Visualizer for Large-Scale Power System Simulation," 2023 North American Power Symposium (NAPS), Asheville, NC, USA, 2023, pp. 1-5, - doi: 10.1109/NAPS58826.2023.10318583.
  6. -
+ We kindly ask that you cite the following papers if LTB is used in your research. +
    +
  1. F. Li, K. Tomsovic and H. Cui, "A Large-Scale Testbed as a Virtual Power Grid: For Closed-Loop Controls in Research and Testing," + in IEEE Power and Energy Magazine, vol. 18, no. 2, pp. 60-68, March-April 2020, doi: 10.1109/MPE.2019.2959054. + +
  2. +
  3. H. Cui, F. Li and K. Tomsovic, "Hybrid Symbolic-Numeric Framework for Power System Modeling and Analysis," + in IEEE Transactions on Power Systems, vol. 36, no. 2, pp. 1373-1384, March 2021, doi: 10.1109/TPWRS.2020.3017019. + +
  4. +
  5. N. Parsly, J. Wang, N. West, Q. Zhang, H. Cui and F. Li, "DiME and AGVis: A Distributed Messaging Environment and Geographical + Visualizer for Large-Scale Power System Simulation," 2023 North American Power Symposium (NAPS), Asheville, NC, USA, 2023, pp. 1-5, + doi: 10.1109/NAPS58826.2023.10318583. + +
  6. +

+

PARTNERS & USERS

diff --git a/images/CURENT_Logo.png b/images/CURENT_Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb300d985f31233ca3238c46596acbb4bc969bc GIT binary patch literal 88399 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 Date: Fri, 18 Oct 2024 01:08:34 -0400 Subject: [PATCH 10/12] Update homepage --- _layouts/home.html | 41 ++++++++++++++++++++++++++++ mapdata.json | 66 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 mapdata.json diff --git a/_layouts/home.html b/_layouts/home.html index 9bacb25..b66b4ed 100755 --- a/_layouts/home.html +++ b/_layouts/home.html @@ -5,6 +5,8 @@ + +