From 15099cf78db3095cbe4d2a79b584e3c443ac1bf4 Mon Sep 17 00:00:00 2001 From: Derek Slaughter Date: Mon, 1 Dec 2025 11:54:03 -0500 Subject: [PATCH 01/17] Write average and non-rotating A matrices to the case directory --- results.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/results.go b/results.go index c82217f..fad9b08 100644 --- a/results.go +++ b/results.go @@ -129,6 +129,16 @@ func (r *Results) Save(caseDir string) error { return err } + for i, A_NR := range linOP.MBC.ANRs { + // Write non-rotating A matrix for each operating point + if err := lin.ToCSV(A_NR, fmt.Sprintf("%s_a_nr_%d.csv", linOP.RootPath, i+1), "%g"); err != nil { + return fmt.Errorf("error writing A_NR for OP %d: %w", i+1, err) + } + } + + // Write AvgA data to file + lin.ToCSV(linOP.MBC.AvgA, linOP.RootPath+"_avg_a.csv", "%g") + // Write Eigen analysis mode results data to file w := &bytes.Buffer{} linOP.Modes.ToCSV(w) From 44eac4365ce9754054f1686cd6b61d9b054e5353 Mon Sep 17 00:00:00 2001 From: Derek Slaughter Date: Mon, 1 Dec 2025 11:54:31 -0500 Subject: [PATCH 02/17] Add io fields relevant to OpenFAST v5 --- fio.go | 72 ++++++++++++++++++------------- frontend/src/components/Model.vue | 3 ++ 2 files changed, 44 insertions(+), 31 deletions(-) diff --git a/fio.go b/fio.go index 1fb4107..2db8f7e 100644 --- a/fio.go +++ b/fio.go @@ -74,39 +74,41 @@ type String struct { // Files structure contains slices of all file types // file types must be slices for the parsing and writing code to work type Files struct { - Main []Main `json:"Main"` - ElastoDyn []ElastoDyn `json:"ElastoDyn"` - BeamDyn []BeamDyn `json:"BeamDyn"` - SubDyn []SubDyn `json:"SubDyn"` - AeroDyn []AeroDyn `json:"AeroDyn"` - AeroDyn14 []AeroDyn14 `json:"AeroDyn14"` - HydroDyn []HydroDyn `json:"HydroDyn"` - ServoDyn []ServoDyn `json:"ServoDyn"` - InflowWind []InflowWind `json:"InflowWind"` - OLAF []OLAF `json:"OLAF"` - Misc []Misc `json:"Misc"` - StControl []StControl `json:"StControl"` - AirfoilInfo []AirfoilInfo `json:"AirfoilInfo"` - PathMap map[string]string `json:"-"` + Main []Main `json:"Main"` + ElastoDyn []ElastoDyn `json:"ElastoDyn"` + BeamDyn []BeamDyn `json:"BeamDyn"` + BeamDynBlade []BeamDynBlade `json:"BeamDynBlade"` + SubDyn []SubDyn `json:"SubDyn"` + AeroDyn []AeroDyn `json:"AeroDyn"` + AeroDyn14 []AeroDyn14 `json:"AeroDyn14"` + HydroDyn []HydroDyn `json:"HydroDyn"` + ServoDyn []ServoDyn `json:"ServoDyn"` + InflowWind []InflowWind `json:"InflowWind"` + OLAF []OLAF `json:"OLAF"` + Misc []Misc `json:"Misc"` + StControl []StControl `json:"StControl"` + AirfoilInfo []AirfoilInfo `json:"AirfoilInfo"` + PathMap map[string]string `json:"-"` } // NewFiles returns the Model structure with all slices initialized to empty func NewFiles() *Files { return &Files{ - Main: []Main{}, - ElastoDyn: []ElastoDyn{}, - BeamDyn: []BeamDyn{}, - SubDyn: []SubDyn{}, - AeroDyn: []AeroDyn{}, - AeroDyn14: []AeroDyn14{}, - HydroDyn: []HydroDyn{}, - InflowWind: []InflowWind{}, - OLAF: []OLAF{}, - ServoDyn: []ServoDyn{}, - StControl: []StControl{}, - Misc: []Misc{}, - AirfoilInfo: []AirfoilInfo{}, - PathMap: map[string]string{}, + Main: []Main{}, + ElastoDyn: []ElastoDyn{}, + BeamDyn: []BeamDyn{}, + BeamDynBlade: []BeamDynBlade{}, + SubDyn: []SubDyn{}, + AeroDyn: []AeroDyn{}, + AeroDyn14: []AeroDyn14{}, + HydroDyn: []HydroDyn{}, + InflowWind: []InflowWind{}, + OLAF: []OLAF{}, + ServoDyn: []ServoDyn{}, + StControl: []StControl{}, + Misc: []Misc{}, + AirfoilInfo: []AirfoilInfo{}, + PathMap: map[string]string{}, } } @@ -157,6 +159,9 @@ type Main struct { FileBase TMax Real `json:"TMax"` DT Real `json:"DT"` + RhoInf Real `json:"RhoInf"` + ConvTol Real `json:"ConvTol"` + MaxConvIter Integer `json:"MaxConvIter"` CompElast Integer `json:"CompElast"` CompInflow Integer `json:"CompInflow"` CompAero Integer `json:"CompAero"` @@ -257,8 +262,14 @@ type AeroDyn14 struct { type BeamDyn struct { FileBase - RotStates Bool `json:"RotStates"` - BldFile Path `json:"BldFile" ftype:"Misc"` // BeamDynBlade + RotStates Bool `json:"RotStates"` + BldFile Path `json:"BldFile" ftype:"BeamDynBlade"` + OrderElem Integer `json:"OrderElem" key:"order_elem"` +} + +type BeamDynBlade struct { + FileBase + DampType Integer `json:"DampType" key:"damp_type"` } type ElastoDyn struct { @@ -350,7 +361,6 @@ type StControl struct { type SubDyn struct { FileBase - CBMod Bool `json:"CBMod"` Nmodes Integer `json:"Nmodes"` } diff --git a/frontend/src/components/Model.vue b/frontend/src/components/Model.vue index 04b5baa..58a1b9d 100644 --- a/frontend/src/components/Model.vue +++ b/frontend/src/components/Model.vue @@ -114,6 +114,9 @@ function setDefaults() {
+ + + From 39c08fcfa6b7f452a8b47f8218ed46459e63468e Mon Sep 17 00:00:00 2001 From: Derek Slaughter Date: Mon, 1 Dec 2025 11:56:29 -0500 Subject: [PATCH 03/17] Use 3 decimal places for axis numbers in Campbell diagram charts --- frontend/src/components/Results.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/Results.vue b/frontend/src/components/Results.vue index 71e5d91..dcf6067 100644 --- a/frontend/src/components/Results.vue +++ b/frontend/src/components/Results.vue @@ -220,11 +220,11 @@ const charts = computed(() => { title: { display: true, text: xLabel, font: { size: 18 } }, min: Math.min(...xValues), max: Math.max(...xValues), - ticks: { font: { size: 16 } } + ticks: { font: { size: 16 }, callback: (value) => Number(value).toFixed(3) }, }, y: { title: { display: true, text: cfg.label, font: { size: 18 } }, - ticks: { font: { size: 16 } }, + ticks: { font: { size: 16 }, callback: (value) => Number(value).toFixed(3) }, min: 0.95 * (cfg.isNatFreq ? freqMin : dampMin), max: 1.05 * (cfg.isNatFreq ? freqMax : dampMax), }, From 4c5db6ab56cdcc6aa7b9005d61aac500c01f99bf Mon Sep 17 00:00:00 2001 From: Derek Slaughter Date: Mon, 1 Dec 2025 11:57:14 -0500 Subject: [PATCH 04/17] Increase size of scanner buffer for reading linearization files --- lin/linfile.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lin/linfile.go b/lin/linfile.go index da608cc..df896b7 100644 --- a/lin/linfile.go +++ b/lin/linfile.go @@ -159,6 +159,8 @@ func ReadLinFile(filePath string) (*LinData, error) { // Create scanner to read linearization file scanner := bufio.NewScanner(linFile) + buf := make([]byte, 0, 64*1024) + scanner.Buffer(buf, 1024*1024) // Initialize linearization data structure ld := &LinData{ID: ID} From 45c84c931b2f5da47bfab9d7e953faf492b674db Mon Sep 17 00:00:00 2001 From: Derek Slaughter Date: Mon, 1 Dec 2025 11:58:07 -0500 Subject: [PATCH 05/17] Explicitly define blade numbers for reading DOF labels --- lin/mat_data.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lin/mat_data.go b/lin/mat_data.go index 027f2cc..abbf46e 100644 --- a/lin/mat_data.go +++ b/lin/mat_data.go @@ -83,7 +83,7 @@ func NewOPOrder(ops OPSlice, numBlades int) OPOrder { triplet := []int{} // Lookup descriptions in map with all blade numbers - for j := 1; j <= numBlades; j++ { + for _, j := range []int{1, 2, 3} { // Create description from blade number to look up in map testDesc := strings.Replace(desc, matches[0], matches[1]+strconv.Itoa(j), 1) From d4b94b4074d6465dff308367c2afba91aacfd299 Mon Sep 17 00:00:00 2001 From: Derek Slaughter Date: Mon, 1 Dec 2025 12:00:06 -0500 Subject: [PATCH 06/17] Add way to store non-rotating A matrices --- lin/mbc.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lin/mbc.go b/lin/mbc.go index 08f7c66..db0ddf3 100644 --- a/lin/mbc.go +++ b/lin/mbc.go @@ -28,6 +28,7 @@ type MBC struct { DOFsEigen []string `json:"DOFsEigen"` AvgA *mat.Dense `json:"-"` ANR *mat.Dense `json:"-"` // Non-rotating A matrix + ANRs []*mat.Dense `json:"-"` // Non-rotating A matrix for each OP AvgX *mat.VecDense `json:"-"` AvgXdot *mat.VecDense `json:"-"` } @@ -105,7 +106,7 @@ func (md *MatData) MBC3() (*MBC, error) { PX.Permutation(mbc.OrderX.Num, mbc.OrderX.Indices) // Loop through linearization data - for i := 0; i < md.NumStep; i++ { + for i := range md.NumStep { // Rotor speed in radians/sec and rotor speed squared omega := md.Omega[i] @@ -211,6 +212,9 @@ func (md *MatData) MBC3() (*MBC, error) { A_NR = append(A_NR, ANR) } + // Save all OP non-rotating A matrices + mbc.ANRs = A_NR + // Average the A matrix mbc.AvgA = mat.NewDense(len(md.OP_x), len(md.OP_x), nil) for _, A_NR := range A_NR { From 6678190801d4169825a58cef31285806f0ed8971 Mon Sep 17 00:00:00 2001 From: Derek Slaughter Date: Mon, 1 Dec 2025 12:12:34 -0500 Subject: [PATCH 07/17] Update to Wails 2.11.0 --- go.mod | 21 +++++++++++---------- go.sum | 42 ++++++++++++++++++++++-------------------- 2 files changed, 33 insertions(+), 30 deletions(-) diff --git a/go.mod b/go.mod index d54d433..7408707 100644 --- a/go.mod +++ b/go.mod @@ -9,18 +9,19 @@ require ( github.com/labstack/gommon v0.4.2 github.com/mkmik/argsort v1.1.0 github.com/parallelo-ai/kmeans v0.1.1 - github.com/wailsapp/wails/v2 v2.10.1 - golang.org/x/sync v0.14.0 + github.com/wailsapp/wails/v2 v2.11.0 + golang.org/x/sync v0.18.0 gonum.org/v1/gonum v0.16.0 ) require ( github.com/bep/debounce v1.2.1 // indirect github.com/go-ole/go-ole v1.3.0 // indirect - github.com/godbus/dbus/v5 v5.1.0 // indirect + github.com/godbus/dbus/v5 v5.2.0 // indirect github.com/google/uuid v1.6.0 // indirect + github.com/gorilla/websocket v1.5.3 // indirect github.com/jchv/go-winloader v0.0.0-20250406163304-c1995be93bd1 // indirect - github.com/labstack/echo/v4 v4.13.3 // indirect + github.com/labstack/echo/v4 v4.13.4 // indirect github.com/leaanthony/go-ansi-parser v1.6.1 // indirect github.com/leaanthony/gosod v1.0.4 // indirect github.com/leaanthony/slicer v1.6.0 // indirect @@ -30,14 +31,14 @@ require ( github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect github.com/pkg/errors v0.9.1 // indirect github.com/rivo/uniseg v0.4.7 // indirect - github.com/samber/lo v1.50.0 // indirect + github.com/samber/lo v1.52.0 // indirect github.com/tkrajina/go-reflector v0.5.8 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/fasttemplate v1.2.2 // indirect - github.com/wailsapp/go-webview2 v1.0.21 // indirect + github.com/wailsapp/go-webview2 v1.0.23 // indirect github.com/wailsapp/mimetype v1.4.1 // indirect - golang.org/x/crypto v0.38.0 // indirect - golang.org/x/net v0.40.0 // indirect - golang.org/x/sys v0.33.0 // indirect - golang.org/x/text v0.25.0 // indirect + golang.org/x/crypto v0.45.0 // indirect + golang.org/x/net v0.47.0 // indirect + golang.org/x/sys v0.38.0 // indirect + golang.org/x/text v0.31.0 // indirect ) diff --git a/go.sum b/go.sum index ec766d2..c3663c2 100644 --- a/go.sum +++ b/go.sum @@ -11,14 +11,16 @@ github.com/dominikbraun/graph v0.23.0 h1:TdZB4pPqCLFxYhdyMFb1TBdFxp8XLcJfTTBQucV github.com/dominikbraun/graph v0.23.0/go.mod h1:yOjYyogZLY1LSG9E33JWZJiq5k83Qy2C6POAuiViluc= github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= -github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= -github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.2.0 h1:3WexO+U+yg9T70v9FdHr9kCxYlazaAXUhx2VMkbfax8= +github.com/godbus/dbus/v5 v5.2.0/go.mod h1:3AAv2+hPq5rdnr5txxxRwiGjPXamgoIHgz9FPBfOp3c= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= +github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/jchv/go-winloader v0.0.0-20250406163304-c1995be93bd1 h1:njuLRcjAuMKr7kI3D85AXWkw6/+v9PwtV6M6o11sWHQ= github.com/jchv/go-winloader v0.0.0-20250406163304-c1995be93bd1/go.mod h1:alcuEEnZsY1WQsagKhZDsoPCRoOijYqhZvPwLG0kzVs= -github.com/labstack/echo/v4 v4.13.3 h1:pwhpCPrTl5qry5HRdM5FwdXnhXSLSY+WE+YQSeCaafY= -github.com/labstack/echo/v4 v4.13.3/go.mod h1:o90YNEeQWjDozo584l7AwhJMHN0bOC4tAfg+Xox9q5g= +github.com/labstack/echo/v4 v4.13.4 h1:oTZZW+T3s9gAu5L8vmzihV7/lkXGZuITzTQkTEhcXEA= +github.com/labstack/echo/v4 v4.13.4/go.mod h1:g63b33BZ5vZzcIUF8AtRH40DrTlXnx4UMC8rBdndmjQ= github.com/labstack/gommon v0.4.2 h1:F8qTUNXgG1+6WQmqoUWnz8WiEU60mXVVw0P4ht1WRA0= github.com/labstack/gommon v0.4.2/go.mod h1:QlUFxVM+SNXhDL/Z7YhocGIBYOiwB0mXm1+1bAPHPyU= github.com/leaanthony/debme v1.2.1 h1:9Tgwf+kjcrbMQ4WnPcEIUcQuIZYqdWftzZkBr+i/oOc= @@ -52,8 +54,8 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/samber/lo v1.50.0 h1:XrG0xOeHs+4FQ8gJR97zDz5uOFMW7OwFWiFVzqopKgY= -github.com/samber/lo v1.50.0/go.mod h1:RjZyNk6WSnUFRKK6EyOhsRJMqft3G+pg7dCWHQCWvsc= +github.com/samber/lo v1.52.0 h1:Rvi+3BFHES3A8meP33VPAxiBZX/Aws5RxrschYGjomw= +github.com/samber/lo v1.52.0/go.mod h1:4+MXEGsJzbKGaUEQFKBq2xtfuznW9oz/WrgyzMzRoM0= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/tkrajina/go-reflector v0.5.8 h1:yPADHrwmUbMq4RGEyaOUpz2H90sRsETNVpjzo3DLVQQ= @@ -62,30 +64,30 @@ github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6Kllzaw github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo= github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= -github.com/wailsapp/go-webview2 v1.0.21 h1:k3dtoZU4KCoN/AEIbWiPln3P2661GtA2oEgA2Pb+maA= -github.com/wailsapp/go-webview2 v1.0.21/go.mod h1:qJmWAmAmaniuKGZPWwne+uor3AHMB5PFhqiK0Bbj8kc= +github.com/wailsapp/go-webview2 v1.0.23 h1:jmv8qhz1lHibCc79bMM/a/FqOnnzOGEisLav+a0b9P0= +github.com/wailsapp/go-webview2 v1.0.23/go.mod h1:qJmWAmAmaniuKGZPWwne+uor3AHMB5PFhqiK0Bbj8kc= github.com/wailsapp/mimetype v1.4.1 h1:pQN9ycO7uo4vsUUuPeHEYoUkLVkaRntMnHJxVwYhwHs= github.com/wailsapp/mimetype v1.4.1/go.mod h1:9aV5k31bBOv5z6u+QP8TltzvNGJPmNJD4XlAL3U+j3o= -github.com/wailsapp/wails/v2 v2.10.1 h1:QWHvWMXII2nI/nXz77gpPG8P3ehl6zKe+u4su5BWIns= -github.com/wailsapp/wails/v2 v2.10.1/go.mod h1:zrebnFV6MQf9kx8HI4iAv63vsR5v67oS7GTEZ7Pz1TY= -golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= -golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +github.com/wailsapp/wails/v2 v2.11.0 h1:seLacV8pqupq32IjS4Y7V8ucab0WZwtK6VvUVxSBtqQ= +github.com/wailsapp/wails/v2 v2.11.0/go.mod h1:jrf0ZaM6+GBc1wRmXsM8cIvzlg0karYin3erahI4+0k= +golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q= +golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4= golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= -golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= -golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= -golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= +golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= +golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= +golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= -golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= +golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= -golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= +golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= +golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= From 8163e2099f6c43a88269a028bbde7fc6ff3aaa53 Mon Sep 17 00:00:00 2001 From: Derek Slaughter Date: Mon, 1 Dec 2025 12:12:56 -0500 Subject: [PATCH 08/17] Update github action --- .github/workflows/build-packages.yml | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-packages.yml b/.github/workflows/build-packages.yml index 281e7e0..83dd26c 100644 --- a/.github/workflows/build-packages.yml +++ b/.github/workflows/build-packages.yml @@ -7,11 +7,12 @@ jobs: strategy: fail-fast: false matrix: - build: [ - {name: ACDC, platform: linux/amd64, os: ubuntu-latest}, - {name: ACDC, platform: windows/amd64, os: windows-latest}, - {name: ACDC, platform: darwin/universal, os: macos-latest}, - ] + build: + [ + { name: ACDC, platform: linux/amd64, os: ubuntu-latest }, + { name: ACDC, platform: windows/amd64, os: windows-latest }, + { name: ACDC, platform: darwin/universal, os: macos-latest }, + ] runs-on: ${{ matrix.build.os }} steps: - uses: actions/checkout@v4 @@ -21,9 +22,7 @@ jobs: uses: actions/setup-go@v5 with: check-latest: true - go-version: 1.24.3 - - run: go version - shell: bash + go-version: 1.25.3 - name: Setup NodeJS uses: actions/setup-node@v4 with: @@ -46,7 +45,7 @@ jobs: run: wails build -platform ${{ matrix.build.platform }} -webview2 download -o ACDC shell: bash - name: Build Linux App - if: runner.os == 'Linux' + if: runner.os == 'Linux' working-directory: . run: wails build -platform ${{ matrix.build.platform }} -webview2 download -tags webkit2_41 -o ACDC shell: bash @@ -79,4 +78,4 @@ jobs: - uses: actions/upload-artifact@v4 with: name: ${{ matrix.build.name }}-${{ runner.os }} - path: 'build/bin/*.zip' + path: "build/bin/*.zip" From c9b8055f2707eb4dd1855582ccad9605d377adb8 Mon Sep 17 00:00:00 2001 From: Derek Slaughter Date: Mon, 1 Dec 2025 12:13:13 -0500 Subject: [PATCH 09/17] Update files generated by Wails --- frontend/wailsjs/go/models.ts | 48 +++++++++++++++++++++++++++-- frontend/wailsjs/runtime/runtime.js | 4 +++ 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/frontend/wailsjs/go/models.ts b/frontend/wailsjs/go/models.ts index 0691bb8..f8e6592 100755 --- a/frontend/wailsjs/go/models.ts +++ b/frontend/wailsjs/go/models.ts @@ -623,6 +623,7 @@ export namespace main { Lines: string[]; RotStates: Bool; BldFile: Path; + OrderElem: Integer; static createFrom(source: any = {}) { return new BeamDyn(source); @@ -635,6 +636,43 @@ export namespace main { this.Lines = source["Lines"]; this.RotStates = this.convertValues(source["RotStates"], Bool); this.BldFile = this.convertValues(source["BldFile"], Path); + this.OrderElem = this.convertValues(source["OrderElem"], Integer); + } + + convertValues(a: any, classs: any, asMap: boolean = false): any { + if (!a) { + return a; + } + if (a.slice && a.map) { + return (a as any[]).map(elem => this.convertValues(elem, classs)); + } else if ("object" === typeof a) { + if (asMap) { + for (const key of Object.keys(a)) { + a[key] = new classs(a[key]); + } + return a; + } + return new classs(a); + } + return a; + } + } + export class BeamDynBlade { + Name: string; + Type: string; + Lines: string[]; + DampType: Integer; + + static createFrom(source: any = {}) { + return new BeamDynBlade(source); + } + + constructor(source: any = {}) { + if ('string' === typeof source) source = JSON.parse(source); + this.Name = source["Name"]; + this.Type = source["Type"]; + this.Lines = source["Lines"]; + this.DampType = this.convertValues(source["DampType"], Integer); } convertValues(a: any, classs: any, asMap: boolean = false): any { @@ -1040,7 +1078,6 @@ export namespace main { Name: string; Type: string; Lines: string[]; - CBMod: Bool; Nmodes: Integer; static createFrom(source: any = {}) { @@ -1052,7 +1089,6 @@ export namespace main { this.Name = source["Name"]; this.Type = source["Type"]; this.Lines = source["Lines"]; - this.CBMod = this.convertValues(source["CBMod"], Bool); this.Nmodes = this.convertValues(source["Nmodes"], Integer); } @@ -1120,6 +1156,9 @@ export namespace main { Lines: string[]; TMax: Real; DT: Real; + RhoInf: Real; + ConvTol: Real; + MaxConvIter: Integer; CompElast: Integer; CompInflow: Integer; CompAero: Integer; @@ -1173,6 +1212,9 @@ export namespace main { this.Lines = source["Lines"]; this.TMax = this.convertValues(source["TMax"], Real); this.DT = this.convertValues(source["DT"], Real); + this.RhoInf = this.convertValues(source["RhoInf"], Real); + this.ConvTol = this.convertValues(source["ConvTol"], Real); + this.MaxConvIter = this.convertValues(source["MaxConvIter"], Integer); this.CompElast = this.convertValues(source["CompElast"], Integer); this.CompInflow = this.convertValues(source["CompInflow"], Integer); this.CompAero = this.convertValues(source["CompAero"], Integer); @@ -1238,6 +1280,7 @@ export namespace main { Main: Main[]; ElastoDyn: ElastoDyn[]; BeamDyn: BeamDyn[]; + BeamDynBlade: BeamDynBlade[]; SubDyn: SubDyn[]; AeroDyn: AeroDyn[]; AeroDyn14: AeroDyn14[]; @@ -1258,6 +1301,7 @@ export namespace main { this.Main = this.convertValues(source["Main"], Main); this.ElastoDyn = this.convertValues(source["ElastoDyn"], ElastoDyn); this.BeamDyn = this.convertValues(source["BeamDyn"], BeamDyn); + this.BeamDynBlade = this.convertValues(source["BeamDynBlade"], BeamDynBlade); this.SubDyn = this.convertValues(source["SubDyn"], SubDyn); this.AeroDyn = this.convertValues(source["AeroDyn"], AeroDyn); this.AeroDyn14 = this.convertValues(source["AeroDyn14"], AeroDyn14); diff --git a/frontend/wailsjs/runtime/runtime.js b/frontend/wailsjs/runtime/runtime.js index 623397b..7cb89d7 100644 --- a/frontend/wailsjs/runtime/runtime.js +++ b/frontend/wailsjs/runtime/runtime.js @@ -48,6 +48,10 @@ export function EventsOff(eventName, ...additionalEventNames) { return window.runtime.EventsOff(eventName, ...additionalEventNames); } +export function EventsOffAll() { + return window.runtime.EventsOffAll(); +} + export function EventsOnce(eventName, callback) { return EventsOnMultiple(eventName, callback, 1); } From cd0accbe6db1c33a92ae50759ea118ad82504ed8 Mon Sep 17 00:00:00 2001 From: Derek Slaughter Date: Mon, 1 Dec 2025 15:05:56 -0500 Subject: [PATCH 10/17] Fix missing lines in go.mod --- go.mod | 3 +++ go.sum | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) diff --git a/go.mod b/go.mod index 7408707..5dcad14 100644 --- a/go.mod +++ b/go.mod @@ -10,6 +10,7 @@ require ( github.com/mkmik/argsort v1.1.0 github.com/parallelo-ai/kmeans v0.1.1 github.com/wailsapp/wails/v2 v2.11.0 + github.com/wcharczuk/go-chart/v2 v2.1.2 golang.org/x/sync v0.18.0 gonum.org/v1/gonum v0.16.0 ) @@ -18,6 +19,7 @@ require ( github.com/bep/debounce v1.2.1 // indirect github.com/go-ole/go-ole v1.3.0 // indirect github.com/godbus/dbus/v5 v5.2.0 // indirect + github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect github.com/google/uuid v1.6.0 // indirect github.com/gorilla/websocket v1.5.3 // indirect github.com/jchv/go-winloader v0.0.0-20250406163304-c1995be93bd1 // indirect @@ -38,6 +40,7 @@ require ( github.com/wailsapp/go-webview2 v1.0.23 // indirect github.com/wailsapp/mimetype v1.4.1 // indirect golang.org/x/crypto v0.45.0 // indirect + golang.org/x/image v0.25.0 // indirect golang.org/x/net v0.47.0 // indirect golang.org/x/sys v0.38.0 // indirect golang.org/x/text v0.31.0 // indirect diff --git a/go.sum b/go.sum index c3663c2..71d1bcf 100644 --- a/go.sum +++ b/go.sum @@ -13,6 +13,9 @@ github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= github.com/godbus/dbus/v5 v5.2.0 h1:3WexO+U+yg9T70v9FdHr9kCxYlazaAXUhx2VMkbfax8= github.com/godbus/dbus/v5 v5.2.0/go.mod h1:3AAv2+hPq5rdnr5txxxRwiGjPXamgoIHgz9FPBfOp3c= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= @@ -70,25 +73,86 @@ github.com/wailsapp/mimetype v1.4.1 h1:pQN9ycO7uo4vsUUuPeHEYoUkLVkaRntMnHJxVwYhw github.com/wailsapp/mimetype v1.4.1/go.mod h1:9aV5k31bBOv5z6u+QP8TltzvNGJPmNJD4XlAL3U+j3o= github.com/wailsapp/wails/v2 v2.11.0 h1:seLacV8pqupq32IjS4Y7V8ucab0WZwtK6VvUVxSBtqQ= github.com/wailsapp/wails/v2 v2.11.0/go.mod h1:jrf0ZaM6+GBc1wRmXsM8cIvzlg0karYin3erahI4+0k= +github.com/wcharczuk/go-chart/v2 v2.1.2 h1:Y17/oYNuXwZg6TFag06qe8sBajwwsuvPiJJXcUcLL6E= +github.com/wcharczuk/go-chart/v2 v2.1.2/go.mod h1:Zi4hbaqlWpYajnXB2K22IUYVXRXaLfSGNNR7P4ukyyQ= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q= golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4= +golang.org/x/image v0.18.0/go.mod h1:4yyo5vMFQjVjUcVk4jEQcU9MGy/rulF5WvUILseCM2E= +golang.org/x/image v0.25.0 h1:Y6uW6rH1y5y/LK1J8BPWZtr6yZ7hrsy6hFrXjgsc2fQ= +golang.org/x/image v0.25.0/go.mod h1:tCAmOEGthTtkalusGp1g3xa2gke8J6c2N565dTyl9Rs= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20200810151505-1b9f1253b3ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= From 08ba9ea933ed324041ffc9ef014667b1a1cfe41f Mon Sep 17 00:00:00 2001 From: Derek Slaughter Date: Mon, 1 Dec 2025 15:06:10 -0500 Subject: [PATCH 11/17] Update vtk_test.go for changes to api --- viz/vtk_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/viz/vtk_test.go b/viz/vtk_test.go index ebb6147..fe65ec9 100644 --- a/viz/vtk_test.go +++ b/viz/vtk_test.go @@ -17,7 +17,7 @@ func TestLoadVTK(t *testing.T) { } for _, testFile := range testFiles { - _, err := viz.LoadVTK(testFile) + _, _, err := viz.LoadVTK(testFile) if err != nil { t.Fatal(err) } From de1dab35287ba8d64c982d2e9a7f7c786ba30aab Mon Sep 17 00:00:00 2001 From: Derek Slaughter Date: Mon, 1 Dec 2025 15:06:50 -0500 Subject: [PATCH 12/17] Use correct check for selectedFileID in Model.vue so main .fst file fields can be edited properly --- frontend/src/components/Model.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/Model.vue b/frontend/src/components/Model.vue index 58a1b9d..c2184bd 100644 --- a/frontend/src/components/Model.vue +++ b/frontend/src/components/Model.vue @@ -192,8 +192,8 @@ function setDefaults() {
-
-
+
+
No fields in file can be modified
From 3c7309767203af5cb1e3f8f9278e58d673e8f016 Mon Sep 17 00:00:00 2001 From: Derek Slaughter Date: Tue, 2 Dec 2025 15:23:20 -0500 Subject: [PATCH 13/17] Add ability to visualize node orientation --- frontend/src/components/ModeViz.vue | 88 ++++++++++++++++++++++++----- frontend/src/components/Results.vue | 34 ++++++----- frontend/wailsjs/go/models.ts | 6 ++ viz/viz.go | 27 ++++++++- viz/vtk.go | 60 ++++++++------------ 5 files changed, 150 insertions(+), 65 deletions(-) diff --git a/frontend/src/components/ModeViz.vue b/frontend/src/components/ModeViz.vue index 9cee9fc..e6a154c 100644 --- a/frontend/src/components/ModeViz.vue +++ b/frontend/src/components/ModeViz.vue @@ -10,6 +10,7 @@ const project = useProjectStore() const props = defineProps<{ ModeData: viz.ModeData showNodePaths: boolean + showNodeOrientation: boolean }>() watch( @@ -19,13 +20,16 @@ watch( ) watch(() => props.showNodePaths, (snp) => (nodePaths.visible = snp)) +watch(() => props.showNodeOrientation, (sno) => { + for (const ofr of orientationFrames) { + ofr.visible = sno && lineFrames.indexOf(ofr) === frameNum + } +}) -const showNodePaths = ref(true) - -let frames = new Array; +let lineFrames = new Array; +let orientationFrames = new Array; let nodePaths = new THREE.Group; let frameNum = 0; -let capturing = false; let frameCenter = new THREE.Vector3; let frameSize = new THREE.Vector3; let clock = new THREE.Clock(); @@ -35,16 +39,29 @@ const FOV = 10 function createFrames(modeData: viz.ModeData) { if (modeData.Frames == null) return scene.clear() - frames = [] as THREE.Group[]; + const geometry = new THREE.BufferGeometry(); geometry.setAttribute('position', new THREE.Float32BufferAttribute([0, 0, 0], 3)); const material = new THREE.PointsMaterial({ color: 0x888888 }); const origin = new THREE.Points(geometry, material); origin.visible = false + + // Clear existing frames + lineFrames = [] as THREE.Group[]; + orientationFrames = [] as THREE.Group[]; + const allFramesGroup = new THREE.Group() allFramesGroup.add(origin) + + const xMaterial = new THREE.LineBasicMaterial({ color: 0xff0000, linewidth: 2 }); + const yMaterial = new THREE.LineBasicMaterial({ color: 0x00ff00, linewidth: 2 }); + const zMaterial = new THREE.LineBasicMaterial({ color: 0x0000ff, linewidth: 2 }); + + // Loop through frames for (const f of modeData.Frames) { - const frameGroup = new THREE.Group() + + // Lines + const lineFrameGroup = new THREE.Group() for (const c of Object.values(f.Components)) { const curve = new THREE.CatmullRomCurve3( c.Line.map((p) => new THREE.Vector3(p.XYZ[0], p.XYZ[1], p.XYZ[2]))) @@ -52,13 +69,45 @@ function createFrames(modeData: viz.ModeData) { const geometry = new THREE.BufferGeometry().setFromPoints(points); const material = new THREE.LineBasicMaterial({ color: 0xffffff, linewidth: 1 }); const curveObject = new THREE.Line(geometry, material); - frameGroup.add(curveObject) + lineFrameGroup.add(curveObject) allFramesGroup.add(curveObject.clone()) // Add clone of object to be used for view sizing } - frameGroup.visible = false // Initialize each group to not visible for animation - frames.push(frameGroup) - scene.add(frameGroup) + lineFrameGroup.visible = false // Initialize each group to not visible for animation + lineFrames.push(lineFrameGroup) + + // Orientations + const orientationFrameGroup = new THREE.Group() + for (const c of Object.values(f.Components)) { + const indices = new Uint16Array(c.Line.map((_, i) => i * 2).flatMap(i => [i, i + 1])); + + const pointsX = new Float32Array(c.Line.flatMap(p => [p.XYZ[0], p.XYZ[1], p.XYZ[2], p.XYZ[0] + p.OrientationX[0] * 4, p.XYZ[1] + p.OrientationX[1] * 4, p.XYZ[2] + p.OrientationX[2] * 4])); + const geometryX = new THREE.BufferGeometry(); + geometryX.setAttribute('position', new THREE.BufferAttribute(pointsX, 3)); + geometryX.setIndex(new THREE.BufferAttribute(indices, 1)); + const lineX = new THREE.LineSegments(geometryX, xMaterial); + orientationFrameGroup.add(lineX); + + const pointsY = new Float32Array(c.Line.flatMap(p => [p.XYZ[0], p.XYZ[1], p.XYZ[2], p.XYZ[0] + p.OrientationY[0] * 4, p.XYZ[1] + p.OrientationY[1] * 4, p.XYZ[2] + p.OrientationY[2] * 4])); + const geometryY = new THREE.BufferGeometry(); + geometryY.setAttribute('position', new THREE.BufferAttribute(pointsY, 3)); + geometryY.setIndex(new THREE.BufferAttribute(indices, 1)); + const lineY = new THREE.LineSegments(geometryY, yMaterial); + orientationFrameGroup.add(lineY); + + // const pointsZ = new Float32Array(c.Line.flatMap(p => [p.XYZ[0], p.XYZ[1], p.XYZ[2], p.XYZ[0] + p.OrientationZ[0] * 4, p.XYZ[1] + p.OrientationZ[1] * 4, p.XYZ[2] + p.OrientationZ[2] * 4])); + // const geometryZ = new THREE.BufferGeometry(); + // geometryZ.setAttribute('position', new THREE.BufferAttribute(pointsZ, 3)); + // geometryZ.setIndex(new THREE.BufferAttribute(indices, 1)); + // const lineZ = new THREE.LineSegments(geometryZ, zMaterial); + // orientationFrameGroup.add(lineZ); + } + orientationFrameGroup.visible = false // Initialize each group to not visible for animation + orientationFrames.push(orientationFrameGroup) + + scene.add(lineFrameGroup) + scene.add(orientationFrameGroup) } + // Node paths const componentNames = Object.keys(modeData.Frames[0].Components) const curves = new Array @@ -172,12 +221,23 @@ const views = [ function animate() { requestAnimationFrame(animate); delta += clock.getDelta() - if (delta > 1.5 / frames.length) { + if (delta > 1.5 / lineFrames.length) { delta = 0 - frames[frameNum].visible = false; + + // Hide current frame + lineFrames[frameNum].visible = false; + orientationFrames[frameNum].visible = false; + + // Increment frame number frameNum++ - if (frameNum >= frames.length) frameNum = 0 - frames[frameNum].visible = true; + if (frameNum >= lineFrames.length) frameNum = 0 + + // Show next frame + lineFrames[frameNum].visible = true; + if (props.showNodeOrientation) { + orientationFrames[frameNum].visible = true; + } + render(); } } diff --git a/frontend/src/components/Results.vue b/frontend/src/components/Results.vue index 56cacaa..ef3c225 100644 --- a/frontend/src/components/Results.vue +++ b/frontend/src/components/Results.vue @@ -22,6 +22,7 @@ const selectedPoint = ref(null) const freqChart = ref | null>(null) const dampChart = ref | null>(null) const showNodePaths = ref(true) +const showNodeOrientation = ref(false) const xAxisWS = ref(true) const rotorSpeedMods = [1, 3, 6, 9, 12, 15] const vizScale = ref(20) @@ -261,27 +262,27 @@ const bladeTipChart = computed(() => { // Loop over each component (blade) - similar to PlotTipDeflection for (const componentName of componentNames) { console.log("Adding series for", componentName) - + // For the blade tip, we only need the last point of each frame - const tipFlapData: {x: number, y: number}[] = [] - const tipEdgeData: {x: number, y: number}[] = [] - + const tipFlapData: { x: number, y: number }[] = [] + const tipEdgeData: { x: number, y: number }[] = [] + for (let frameIndex = 0; frameIndex < currentModeData.Frames.length; frameIndex++) { const frame = currentModeData.Frames[frameIndex] - + if (frame.Components[componentName]) { const component = frame.Components[componentName] - + // Check if LocalLine exists and has data if (component.LocalLine && component.LocalLine.length > 0) { // Get the last point (tip) const tipPoint = component.LocalLine[component.LocalLine.length - 1] - + tipFlapData.push({ x: frameIndex + 1, // Frame numbers start from 1 y: tipPoint.XYZ[0] // X coordinate (Flap direction) }) - + tipEdgeData.push({ x: frameIndex + 1, // Frame numbers start from 1 y: tipPoint.XYZ[1] // Y coordinate (Edge direction) @@ -289,10 +290,10 @@ const bladeTipChart = computed(() => { } } } - + console.log("Tip Flap data:", tipFlapData) console.log("Tip Edge data:", tipEdgeData) - + // Create Flap series if (tipFlapData.length > 0) { datasets.push({ @@ -306,7 +307,7 @@ const bladeTipChart = computed(() => { borderWidth: 2, }) } - + // Create Edge series if (tipEdgeData.length > 0) { datasets.push({ @@ -321,7 +322,7 @@ const bladeTipChart = computed(() => { borderDash: [5, 5], // Dashed line to distinguish from Flap }) } - + colorIndex += 2 // Increment by 2 since we use 2 colors per component } @@ -329,7 +330,7 @@ const bladeTipChart = computed(() => { responsive: true, maintainAspectRatio: false, plugins: { - legend: { + legend: { display: true, position: 'right', labels: { @@ -383,7 +384,7 @@ const bladeTipChart = computed(() => {
Browse @@ -658,7 +659,8 @@ const bladeTipChart = computed(() => {
-1 { + copy(component.Line[j].OrientationX[:], vtk.PolyData.Piece.PointData.DataArray[orientationIndices[0]].MatrixF32[c]) + } + if orientationIndices[1] > -1 { + copy(component.Line[j].OrientationY[:], vtk.PolyData.Piece.PointData.DataArray[orientationIndices[1]].MatrixF32[c]) + } + if orientationIndices[2] > -1 { + copy(component.Line[j].OrientationZ[:], vtk.PolyData.Piece.PointData.DataArray[orientationIndices[2]].MatrixF32[c]) + } } // Copy local line data into component diff --git a/viz/vtk.go b/viz/vtk.go index da05d61..f769633 100644 --- a/viz/vtk.go +++ b/viz/vtk.go @@ -24,9 +24,9 @@ type OrientationVectors struct { } type OrientationMatrix struct { - X []float32 `json:"x"` // 3x3 matrix for X orientation vectors - Y []float32 `json:"y"` // 3x3 matrix for Y orientation vectors - Z []float32 `json:"z"` // 3x3 matrix for Z orientation vectors + X [3]float32 `json:"x"` // 3x3 matrix for X orientation vectors + Y [3]float32 `json:"y"` // 3x3 matrix for Y orientation vectors + Z [3]float32 `json:"z"` // 3x3 matrix for Z orientation vectors } type PolyData struct { @@ -139,41 +139,37 @@ func LoadVTK(path string) (*VTKFile, *VTKFile, error) { return vf, nil, nil } + // Convert blade root coordinates from global to local local_vf, err := Global2Local(vf) if err != nil { - return nil, nil, fmt.Errorf("Failed to convert global coordinates to local: %w", err) + return nil, nil, fmt.Errorf("failed to convert global coordinates to local: %w", err) } return vf, local_vf, nil } -func GetOrientations(vf *VTKFile) (*OrientationVectors, *OrientationMatrix, error) { +func GetBladeRootOrientation(vf *VTKFile) (*OrientationVectors, *OrientationMatrix, error) { // Create orientation vectors ov := &OrientationVectors{} - // Find Orientation vectors + // Create a new OrientationMatrix + om := &OrientationMatrix{} + + // Find Orientation vectors by name and copy first three components for _, da := range vf.PolyData.Piece.PointData.DataArray { - if da.Name == "OrientationX" { + switch strings.ToLower(da.Name) { + case "orientationx": ov.X = da.MatrixF32 - } else if da.Name == "OrientationY" { + copy(om.X[:], da.MatrixF32[0]) + case "orientationy": ov.Y = da.MatrixF32 - } else if da.Name == "OrientationZ" { + copy(om.Y[:], da.MatrixF32[0]) + case "orientationz": ov.Z = da.MatrixF32 + copy(om.Z[:], da.MatrixF32[0]) } } - // Create a new OrientationMatrix - om := &OrientationMatrix{ - X: make([]float32, 3), - Y: make([]float32, 3), - Z: make([]float32, 3), - } - - // Fill the OrientationMatrix with the first 3 vectors from each orientation - om.X = ov.X[0] - om.Y = ov.Y[0] - om.Z = ov.Z[0] - return ov, om, nil } @@ -182,36 +178,30 @@ func Global2Local(vf *VTKFile) (*VTKFile, error) { // Copy vf (Deep Copy -- so that it works independently) var local_vf *VTKFile err := DeepCopy(&vf, &local_vf) + if err != nil { + return nil, fmt.Errorf("failed to deep copy VTKFile: %w", err) + } local_coords := local_vf.PolyData.Piece.Points.DataArray.MatrixF32 - // fmt.Println("\nLocal coordinates:", local_coords) // Get Orientation vectors and matrices - ov, om, err := GetOrientations(local_vf) + ov, om, err := GetBladeRootOrientation(local_vf) if err != nil { - return nil, fmt.Errorf("Failed to extract orientation vectors and matrices: %w", err) + return nil, fmt.Errorf("failed to extract orientation vectors and matrices: %w", err) } - // fmt.Println("\nOrientation Matrix:", om) // Translational/Rotational operations for the points local_coords = TranslateMatrix(local_coords, local_coords[0]) // Translate by the first point -- so that first point will be moved to the origin - // fmt.Println("\nLocal coordinates:", local_coords) transposed_om := TransposeMatrix(om) - // fmt.Println("\nTransposed Orientation Matrix:", transposed_om) local_coords = DotProduct(local_coords, transposed_om) // Rotate by the first orientation vector local_vf.PolyData.Piece.Points.DataArray.MatrixF32 = local_coords - // fmt.Println("\nLocal coordinates from LoadVTK() :", local_coords) // Rotational operations for the Orientation vectors ov.X = DotProduct(ov.X, transposed_om) ov.Y = DotProduct(ov.Y, transposed_om) ov.Z = DotProduct(ov.Z, transposed_om) - // fmt.Println("\nOrientationX:", ov.X) - // fmt.Println("\nOrientationY:", ov.Y) - // fmt.Println("\nOrientationZ:", ov.Z) - return local_vf, nil } @@ -219,7 +209,7 @@ func TranslateMatrix(points [][]float32, translation []float32) [][]float32 { result := make([][]float32, len(points)) for i, point := range points { resPoint := make([]float32, 3) - for j := 0; j < 3; j++ { + for j := range 3 { resPoint[j] = point[j] + (-translation[j]) } result[i] = resPoint @@ -231,8 +221,8 @@ func DotProduct(vectors [][]float32, matrix [][]float32) [][]float32 { result := make([][]float32, len(vectors)) for i, vec := range vectors { resVec := make([]float32, 3) - for j := 0; j < 3; j++ { - for k := 0; k < 3; k++ { + for j := range 3 { + for k := range 3 { resVec[j] += vec[k] * matrix[k][j] } } From a62e28185429b2d14b72d368437dba160e20d916 Mon Sep 17 00:00:00 2001 From: Derek Slaughter Date: Wed, 3 Dec 2025 10:08:49 -0500 Subject: [PATCH 14/17] Add new/missing DOF fields in ElastoDyn file --- fio.go | 50 ++++++++++++++++++++--------------- frontend/wailsjs/go/models.ts | 16 +++++++++-- 2 files changed, 42 insertions(+), 24 deletions(-) diff --git a/fio.go b/fio.go index 2db8f7e..d80ad0a 100644 --- a/fio.go +++ b/fio.go @@ -274,28 +274,34 @@ type BeamDynBlade struct { type ElastoDyn struct { FileBase - FlapDOF1 Bool `json:"FlapDOF1"` - FlapDOF2 Bool `json:"FlapDOF2"` - EdgeDOF Bool `json:"EdgeDOF"` - TeetDOF Bool `json:"TeetDOF"` - DrTrDOF Bool `json:"DrTrDOF"` - GenDOF Bool `json:"GenDOF"` - YawDOF Bool `json:"YawDOF"` - TwFADOF1 Bool `json:"TwFADOF1"` - TwFADOF2 Bool `json:"TwFADOF2"` - TwSSDOF1 Bool `json:"TwSSDOF1"` - TwSSDOF2 Bool `json:"TwSSDOF2"` - BlPitch1 Real `json:"BlPitch1" key:"BlPitch(1)"` - BlPitch2 Real `json:"BlPitch2" key:"BlPitch(2)"` - BlPitch3 Real `json:"BlPitch3" key:"BlPitch(3)"` - RotSpeed Real `json:"RotSpeed"` - NumBl Integer `json:"NumBl"` - TipRad Real `json:"TipRad"` - ShftTilt Real `json:"ShftTilt"` - BldFile1 Path `json:"BldFile1" key:"BldFile(1)" ftype:"Misc"` // ElastoDynBlade - BldFile2 Path `json:"BldFile2" key:"BldFile(2)" ftype:"Misc"` // ElastoDynBlade - BldFile3 Path `json:"BldFile3" key:"BldFile(3)" ftype:"Misc"` // ElastoDynBlade - TwrFile Path `json:"TwrFile" ftype:"Misc"` // ElastoDynTower + FlapDOF1 Bool `json:"FlapDOF1"` + FlapDOF2 Bool `json:"FlapDOF2"` + EdgeDOF Bool `json:"EdgeDOF"` + PitchDOF Bool `json:"PitchDOF"` + DrTrDOF Bool `json:"DrTrDOF"` + GenDOF Bool `json:"GenDOF"` + YawDOF Bool `json:"YawDOF"` + TwFADOF1 Bool `json:"TwFADOF1"` + TwFADOF2 Bool `json:"TwFADOF2"` + TwSSDOF1 Bool `json:"TwSSDOF1"` + TwSSDOF2 Bool `json:"TwSSDOF2"` + PtfmSgDOF Bool `json:"PtfmSgDOF"` + PtfmSwDOF Bool `json:"PtfmSwDOF"` + PtfmHvDOF Bool `json:"PtfmHvDOF"` + PtfmRDOF Bool `json:"PtfmRDOF"` + PtfmPDOF Bool `json:"PtfmPDOF"` + PtfmYDOF Bool `json:"PtfmYDOF"` + BlPitch1 Real `json:"BlPitch1" key:"BlPitch(1)"` + BlPitch2 Real `json:"BlPitch2" key:"BlPitch(2)"` + BlPitch3 Real `json:"BlPitch3" key:"BlPitch(3)"` + RotSpeed Real `json:"RotSpeed"` + NumBl Integer `json:"NumBl"` + TipRad Real `json:"TipRad"` + ShftTilt Real `json:"ShftTilt"` + BldFile1 Path `json:"BldFile1" key:"BldFile(1)" ftype:"Misc"` // ElastoDynBlade + BldFile2 Path `json:"BldFile2" key:"BldFile(2)" ftype:"Misc"` // ElastoDynBlade + BldFile3 Path `json:"BldFile3" key:"BldFile(3)" ftype:"Misc"` // ElastoDynBlade + TwrFile Path `json:"TwrFile" ftype:"Misc"` // ElastoDynTower } type HydroDyn struct { diff --git a/frontend/wailsjs/go/models.ts b/frontend/wailsjs/go/models.ts index 5cb40f3..852144f 100755 --- a/frontend/wailsjs/go/models.ts +++ b/frontend/wailsjs/go/models.ts @@ -717,7 +717,7 @@ export namespace main { FlapDOF1: Bool; FlapDOF2: Bool; EdgeDOF: Bool; - TeetDOF: Bool; + PitchDOF: Bool; DrTrDOF: Bool; GenDOF: Bool; YawDOF: Bool; @@ -725,6 +725,12 @@ export namespace main { TwFADOF2: Bool; TwSSDOF1: Bool; TwSSDOF2: Bool; + PtfmSgDOF: Bool; + PtfmSwDOF: Bool; + PtfmHvDOF: Bool; + PtfmRDOF: Bool; + PtfmPDOF: Bool; + PtfmYDOF: Bool; BlPitch1: Real; BlPitch2: Real; BlPitch3: Real; @@ -749,7 +755,7 @@ export namespace main { this.FlapDOF1 = this.convertValues(source["FlapDOF1"], Bool); this.FlapDOF2 = this.convertValues(source["FlapDOF2"], Bool); this.EdgeDOF = this.convertValues(source["EdgeDOF"], Bool); - this.TeetDOF = this.convertValues(source["TeetDOF"], Bool); + this.PitchDOF = this.convertValues(source["PitchDOF"], Bool); this.DrTrDOF = this.convertValues(source["DrTrDOF"], Bool); this.GenDOF = this.convertValues(source["GenDOF"], Bool); this.YawDOF = this.convertValues(source["YawDOF"], Bool); @@ -757,6 +763,12 @@ export namespace main { this.TwFADOF2 = this.convertValues(source["TwFADOF2"], Bool); this.TwSSDOF1 = this.convertValues(source["TwSSDOF1"], Bool); this.TwSSDOF2 = this.convertValues(source["TwSSDOF2"], Bool); + this.PtfmSgDOF = this.convertValues(source["PtfmSgDOF"], Bool); + this.PtfmSwDOF = this.convertValues(source["PtfmSwDOF"], Bool); + this.PtfmHvDOF = this.convertValues(source["PtfmHvDOF"], Bool); + this.PtfmRDOF = this.convertValues(source["PtfmRDOF"], Bool); + this.PtfmPDOF = this.convertValues(source["PtfmPDOF"], Bool); + this.PtfmYDOF = this.convertValues(source["PtfmYDOF"], Bool); this.BlPitch1 = this.convertValues(source["BlPitch1"], Real); this.BlPitch2 = this.convertValues(source["BlPitch2"], Real); this.BlPitch3 = this.convertValues(source["BlPitch3"], Real); From 8faf47c69066497795c1fa41504b08b7ec774dce Mon Sep 17 00:00:00 2001 From: sora-ryu Date: Mon, 15 Dec 2025 14:34:43 -0700 Subject: [PATCH 15/17] theory for MBC, eigenanalysis, and MAC --- docs/content/docs/theory/index.md | 86 ++++++++++++++++-- .../docs/theory/mode_identification.png | Bin 0 -> 124204 bytes docs/content/docs/theory/workflow.png | Bin 0 -> 87359 bytes docs/hugo.toml | 11 +++ .../layouts/_default/baseof.html | 4 + .../layouts/partials/math.html | 13 +++ 6 files changed, 108 insertions(+), 6 deletions(-) create mode 100644 docs/content/docs/theory/mode_identification.png create mode 100644 docs/content/docs/theory/workflow.png create mode 100644 docs/themes/hugo-whisper-theme/layouts/partials/math.html diff --git a/docs/content/docs/theory/index.md b/docs/content/docs/theory/index.md index e556c0d..660fa6e 100644 --- a/docs/content/docs/theory/index.md +++ b/docs/content/docs/theory/index.md @@ -4,14 +4,88 @@ date: 2024-05-14T19:27:37+10:00 weight: 10 --- -Coming soon! +## Overview -### Multi-Blade Coordinate Transform (MBC) +A campbell diagram is a powerful visualization tool used in wind turbine analysis to understand how natural frequencies and damping ratios vary with rotor and wind speeds. It helps identify potential resonance conditions and instabilities where structural modes may be excited by harmonic frequencies, which is critical for avoiding fatigue damage and ensuring safe operation. -### Eigenanalysis +The campbell diagram generation process with OpenFAST follows a systematic automated workflow consisting of five main steps: -### Modal Assurance Criteria (MAC) +1. **Import OpenFAST Model** - Analyze the turbine to get time domain and linearization data +2. **Define Operating Points** - Specify rotor speeds and other operating conditions for linearization +3. **Run Simulations** - Execute OpenFAST linearization at each operating point +4. **Multi-Blade Coordinate (MBC) Transformation** - Transform rotating blade coordinates to fixed reference frame +5. **Eigenanalysis and Mode Identification** - Extract natural frequencies and mode shapes, then track modes across operating points -### Assignment Problem +![](workflow.png) + +## Multi-Blade Coordinate (MBC) Transformation + +For wind turbines with multiple blades, the dynamics in the rotating reference frame are periodic and coupled due to rotor rotation. The Multi-Blade Coordinate transformation converts the rotating blade degrees of freedom into a fixed (non-rotating) reference frame, producing: + +- **Collective modes** - All blades move in phase (symmetric motion) +- **Cyclic modes** - Blades move with phase differences (asymmetric motion) +- **Fixed-frame representation** - Time-invariant system matrices suitable for eigenanalysis + +This transformation is essential because it: +- Decouples the periodic equations of motion into time-invariant form +- Enables conventional eigenanalysis techniques +- Separates symmetric and asymmetric rotor modes +- Simplifies the identification of structural modes + +The MBC transformation yields state-space matrices in the fixed reference frame, which can then be analyzed using standard linear algebra techniques. + +## Eigenanalysis + +Eigenanalysis is a mathematical technique used to compute modal and stability characteristics, decomposing a linear system into its fundamental components: eigenvalues and eigenvectors. + +- **Eigenvalues** - Complex numbers representing natural frequencies and damping ratios of the system modes +- **Eigenvectors** - Complex vectors describing the mode shapes, indicating how different degrees of freedom participate in each mode + +For wind turbine analysis, eigenanalysis of the MBC-transformed system provides: +- Natural frequencies at each operating point (used to construct the Campbell diagram) +- Mode shapes that characterize the physical motion (e.g., tower bending, blade flap/edge, drivetrain torsion) +- Damping characteristics indicating stability of each mode + +The eigenvalues are typically plotted against rotor speed to create the Campbell diagram, with rotational harmonic lines overlaid to identify potential resonances. + +## Mode Identification + +Mode identification is the process of tracking the same physical mode across different operating points based on the eigenvectors and eigenvalues produced by MBC transformation and eigenanalysis. This is a challenging task because: + +- Natural frequencies of different modes may cross or veer as operating conditions change +- Mode shapes may gradually evolve with rotor speed +- Multiple modes with similar characteristics may be present +- Numerical noise can affect mode ordering + +As seen from the figure below, some modes can be clearly distinguished across the operating range, whereas others may cross or come very close to each other, making automated tracking difficult. + +![](mode_identification.png "Modes for NREL 5MW") + +### Similarity Metrics + +Modal identification relies on quantitative similarity measurements to determine which modes at different operating points correspond to the same physical phenomenon. + +**Modal Assurance Criterion (MAC)** + +The Modal Assurance Criterion compares the complex eigenvectors of two modes to quantify their similarity. The MAC value ranges from 0 (completely dissimilar) to 1 (identical mode shapes). + + + +$$ +\text{MAC}(\mu_1, \mu_2) = \left( \frac{|\mu_1^*\ \mu_2|}{||\mu_1||\ ||\mu_2||} \right)^2 +$$ + +where \(\mu_1\) and \(\mu_2\) are complex eigenvectors from two different operating points, and \(^*\) denotes the complex conjugate transpose. + +**Pole-Weighted MAC (MACXP)** + +MACXP enhances the standard MAC by incorporating both eigenvector similarity and eigenvalue proximity: + + + +$$ +\text{MACXP}(\mu_1, \mu_2) = \frac{\left(\frac{|\mu_1^*\ \mu_2|}{|\overline{\lambda_1} + \lambda_2|} + \frac{|\mu_1^{\top}\ \mu_2|}{|\lambda_1 + \lambda_2|}\right)^2}{\left(\frac{\mu_1^*\ \mu_1}{2|\text{Re } \lambda_1|} + \frac{|\mu_1^{\top}\ \mu_1|}{2|\lambda_1|}\right) \left(\frac{\mu_2^*\ \mu_2}{2|\text{Re } \lambda_2|} + \frac{|\mu_2^{\top}\ \mu_2|}{2|\lambda_2|}\right)} +$$ + +where \(\lambda_A\) and \(\lambda_B\) are the eigenvalues corresponding to modes A and B. The exponential weighting factor penalizes modes with dissimilar eigenvalues, providing a more robust similarity measure that considers both shape and frequency content. -### Spectral Clustering \ No newline at end of file diff --git a/docs/content/docs/theory/mode_identification.png b/docs/content/docs/theory/mode_identification.png new file mode 100644 index 0000000000000000000000000000000000000000..30ba3fc677f2213a748140605d625e53892b23d0 GIT binary patch literal 124204 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 J@NOCA+^P)(G=#zq7## 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 diff --git a/docs/themes/hugo-whisper-theme/layouts/partials/math.html b/docs/themes/hugo-whisper-theme/layouts/partials/math.html new file mode 100644 index 0000000..6919a51 --- /dev/null +++ b/docs/themes/hugo-whisper-theme/layouts/partials/math.html @@ -0,0 +1,13 @@ + + + \ No newline at end of file From 80d3e46c66157f6852abd07eefba585138e1f134 Mon Sep 17 00:00:00 2001 From: sora-ryu Date: Mon, 15 Dec 2025 16:36:46 -0700 Subject: [PATCH 16/17] add mode tracking, spectral clustering --- docs/content/docs/theory/assignment_cm.png | Bin 0 -> 40704 bytes docs/content/docs/theory/assignment_op.png | Bin 0 -> 13138 bytes docs/content/docs/theory/cluster1.png | Bin 0 -> 43165 bytes docs/content/docs/theory/cluster2.png | Bin 0 -> 43826 bytes docs/content/docs/theory/index.md | 93 ++++++++++++++++-- .../docs/theory/spectral_clustering.png | Bin 0 -> 260345 bytes 6 files changed, 86 insertions(+), 7 deletions(-) create mode 100644 docs/content/docs/theory/assignment_cm.png create mode 100644 docs/content/docs/theory/assignment_op.png create mode 100644 docs/content/docs/theory/cluster1.png create mode 100644 docs/content/docs/theory/cluster2.png create mode 100644 docs/content/docs/theory/spectral_clustering.png diff --git a/docs/content/docs/theory/assignment_cm.png b/docs/content/docs/theory/assignment_cm.png new file mode 100644 index 0000000000000000000000000000000000000000..da4c9d400845f58ba47fd8258bb2081a862d5045 GIT binary patch literal 40704 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 literal 0 HcmV?d00001 diff --git a/docs/content/docs/theory/assignment_op.png b/docs/content/docs/theory/assignment_op.png new file mode 100644 index 0000000000000000000000000000000000000000..3b09f0150904b54aed5a9883b6a15bbf786dfd0e GIT binary patch literal 13138 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