diff --git a/CMakeLists.txt b/CMakeLists.txt index b27ec89b..fe48bb77 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -546,7 +546,7 @@ endif() # SYSTEM: we statically link a system BLAS+LAPACK. We try to detect # the vendor (OpenBLAS, MKL, BLIS, ATLAS, Apple Accelerate, # Arm Performance Libraries) from BLAS_LIBRARIES/LAPACK_LIBRARIES -# so the corresponding license text from extra_licenses/ can +# so the corresponding license text from dependencies_licenses/ can # be embedded in the binary. If detection fails OR the license # file is missing, we WARN the user that the resulting binary # may not be legally redistributable. @@ -568,28 +568,28 @@ else() set(_SYS_BLAS_TAG "OPENBLAS") set(_SYS_BLAS_LIBNAME "OpenBLAS") set(_SYS_BLAS_DESC "system BLAS+LAPACK") - set(_SYS_BLAS_LICENSE_PATH "extra_licenses/openblas.txt") + set(_SYS_BLAS_LICENSE_PATH "dependencies_licenses/openblas.txt") elseif(_SYS_BLAS_SIG MATCHES "mkl") set(_SYS_BLAS_TAG "MKL") set(_SYS_BLAS_LIBNAME "Intel MKL") set(_SYS_BLAS_DESC "system BLAS+LAPACK") - set(_SYS_BLAS_LICENSE_PATH "extra_licenses/mkl.txt") + set(_SYS_BLAS_LICENSE_PATH "dependencies_licenses/mkl.txt") elseif(_SYS_BLAS_SIG MATCHES "blis") set(_SYS_BLAS_TAG "BLIS") set(_SYS_BLAS_LIBNAME "BLIS") set(_SYS_BLAS_DESC "system BLAS") - set(_SYS_BLAS_LICENSE_PATH "extra_licenses/blis.txt") + set(_SYS_BLAS_LICENSE_PATH "dependencies_licenses/blis.txt") elseif(_SYS_BLAS_SIG MATCHES "atlas") set(_SYS_BLAS_TAG "ATLAS") set(_SYS_BLAS_LIBNAME "ATLAS") set(_SYS_BLAS_DESC "system BLAS+LAPACK") - set(_SYS_BLAS_LICENSE_PATH "extra_licenses/atlas.txt") + set(_SYS_BLAS_LICENSE_PATH "dependencies_licenses/atlas.txt") elseif(_SYS_BLAS_SIG MATCHES "blas") # Generic Reference-BLAS / netlib install on the system. set(_SYS_BLAS_TAG "REFBLAS") - set(_SYS_BLAS_LIBNAME "Reference BLAS/LAPACK") - set(_SYS_BLAS_DESC "system BLAS+LAPACK (Reference-LAPACK / netlib)") - set(_SYS_BLAS_LICENSE_PATH "extra_licenses/netlib-blas-lapack.txt") + set(_SYS_BLAS_LIBNAME "Netlib LAPACK") + set(_SYS_BLAS_DESC "system BLAS+LAPACK") + set(_SYS_BLAS_LICENSE_PATH "dependencies_licenses/netlib-blas-lapack.txt") endif() if(_SYS_BLAS_TAG STREQUAL "") @@ -599,7 +599,7 @@ else() " No license text will be embedded for the BLAS/LAPACK provider, " "which may make the resulting binary legally undistributable.\n" " Add a matching entry to the system-BLAS detection block in " - "CMakeLists.txt and drop the license file under extra_licenses/.") + "CMakeLists.txt and drop the license file under dependencies_licenses/.") else() list(APPEND _MYSTRAN_STATIC_DEFS "_STATIC_${_SYS_BLAS_TAG}") list(APPEND _MYSTRAN_STATIC_NAMES "${_SYS_BLAS_LIBNAME}") @@ -658,13 +658,13 @@ set(_MYSTRAN_LICENSE_MAP "SUPERLU_MT:submodules/superlu_mt/License.txt:SuperLU_MT:multi-threaded sparse solver" "METIS:submodules/metis/LICENSE:METIS:graph partitioner for SuperLU" "GKLIB:submodules/GKlib/LICENSE.txt:GKlib:utility library for METIS" - "ARPACK:extra_licenses/arpack.txt:ARPACK:Lanczos eigensolver implementation" - "GOMP:extra_licenses/gpl-3.0-with-gcc-exception.txt:libgomp:GNU OpenMP runtime" - "GFORTRAN:extra_licenses/gpl-3.0-with-gcc-exception.txt:libgfortran:GNU Fortran runtime" - "GCC:extra_licenses/gpl-3.0-with-gcc-exception.txt:libgcc:GNU C runtime" - "WINPTHREAD:extra_licenses/libwinpthread.txt:libwinpthread:Windows POSIX threads, used by SuperLU_MT" - "PTHREAD:extra_licenses/lgpl-2.1.txt:libpthread:POSIX threads, used by SuperLU_MT" - "REGEX:extra_licenses/lgpl-2.1.txt:libregex:POSIX regexes, used by GKlib" + "ARPACK:dependencies_licenses/arpack.txt:ARPACK:Lanczos eigensolver" + "GOMP:dependencies_licenses/gpl-3.0-with-gcc-exception.txt:libgomp:GNU OpenMP runtime" + "GFORTRAN:dependencies_licenses/gpl-3.0-with-gcc-exception.txt:libgfortran:GNU Fortran runtime" + "GCC:dependencies_licenses/gpl-3.0-with-gcc-exception.txt:libgcc:GNU C runtime" + "WINPTHREAD:dependencies_licenses/libwinpthread.txt:libwinpthread:Windows POSIX threads, used by SuperLU_MT" + "PTHREAD:dependencies_licenses/lgpl-2.1.txt:libpthread:POSIX threads, used by SuperLU_MT" + "REGEX:dependencies_licenses/lgpl-2.1.txt:libregex:POSIX regexes, used by GKlib" ) # BLAS/LAPACK license entry depends on which provider was selected. diff --git a/README.md b/README.md index 349da1b8..4943e998 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ NASTRAN. It is an independent program written in modern Fortran 95. - Linear Elastic Buckling Analysis - Full Suite of 1D, 2D, and 3D elements - Support for Classical Laminated Plate Theory -- OP2 Support +- OP2 Supports # Get EXE or Make Binary @@ -60,7 +60,7 @@ straightforward. The end user documentation is located the [MYSTRAN_Documentation](https://github.com/MYSTRANsolver/MYSTRAN_Documentation) repository. This includes a Quick Setup Guide, User Manual, and Theory Manual. -# Four Repositories +# Five Repositories The MYSTRAN project consists of five repositories. @@ -71,8 +71,9 @@ The MYSTRAN project consists of five repositories. 3 - The [MYSTRAN_Resources](https://github.com/MYSTRANsolver/MYSTRAN_Resources) repository consists of files for MYSTRAN developers. It also contains information and files related to pre- and post-processors relevant to MYSTRAN. -4 - The [MYSTRAN_Benchmark](https://github.com/MYSTRANsolver/MYSTRAN_Benchmark) repository contains the test cases and utilities used to verify that a new build produces results consistent with prior builds and models that have been verified. +4 - The [MYSTRAN_Validation](https://github.com/MystranSolver/MYSTRAN_Validation) repository contains models with verified results and code to automatically check a MYSTRAN binary against the expected results; this keeps track of our validation effort and prevents regressions. +5 - The [MYSTRAN_Benchmark](https://github.com/MYSTRANsolver/MYSTRAN_Benchmark) repository contains the original test cases and some utilities used to verify results before the Validation repository started. # Developmental Goals diff --git a/Source/LK9/L91/WRITE_ELEM_ENGR_FORCE.f90 b/Source/LK9/L91/WRITE_ELEM_ENGR_FORCE.f90 index 48bb041e..c7f4e61f 100644 --- a/Source/LK9/L91/WRITE_ELEM_ENGR_FORCE.f90 +++ b/Source/LK9/L91/WRITE_ELEM_ENGR_FORCE.f90 @@ -380,6 +380,8 @@ SUBROUTINE WRITE_ELEM_ENGR_FORCE ( JSUB, NUM, IHDR, NUM_PTS, ITABLE ) ELEMENT_TYPE = 74 ELSE IF (TYPE == 'QUAD4 ') THEN ELEMENT_TYPE = 33 ! todo: verify no ELEMENT_TYPE=144 + ELSE IF (TYPE == 'QUAD8 ') THEN + ELEMENT_TYPE = 64 !ELSE ! error ENDIF diff --git a/Source/LK9/L91/WRITE_ELEM_STRAINS.f90 b/Source/LK9/L91/WRITE_ELEM_STRAINS.f90 index 0a62c98c..fe4e8a00 100644 --- a/Source/LK9/L91/WRITE_ELEM_STRAINS.f90 +++ b/Source/LK9/L91/WRITE_ELEM_STRAINS.f90 @@ -487,7 +487,11 @@ SUBROUTINE WRITE_ELEM_STRAINS ( JSUB, NUM, IHDR, NUM_PTS, ITABLE ) ! fd1, sx1, sy1, txy1, angle1, major1, minor1, vm1, ! fd2, sx2, sy2, txy2, angle2, major2, minor2, vm2,) = out; n=17 NUM_WIDE = 17 - ELEMENT_TYPE = 33 + IF (TYPE(1:5) == 'QUAD4') THEN + ELEMENT_TYPE = 33 + ELSE + ELEMENT_TYPE = 64 ! QUAD8 + END IF NVALUES = NUM_WIDE * NUM CALL WRITE_OES3_STATIC(ITABLE, ISUBCASE, DEVICE_CODE, ELEMENT_TYPE, NUM_WIDE, STRESS_CODE, & TITLEI, STITLEI, LABELI, FIELD5_INT_MODE, FIELD6_EIGENVALUE) diff --git a/Source/Modules/MYSTRAN_Version.f90 b/Source/Modules/MYSTRAN_Version.f90 index 89bb5beb..45133ab2 100644 --- a/Source/Modules/MYSTRAN_Version.f90 +++ b/Source/Modules/MYSTRAN_Version.f90 @@ -35,9 +35,9 @@ MODULE MYSTRAN_Version SAVE CHARACTER(256*BYTE) :: MYSTRAN_COMMENT = '*** Please report any problems to mystransolver@gmail.com ***' - CHARACTER( 8*BYTE), PARAMETER :: MYSTRAN_VER_NUM = '18.0.0' - CHARACTER( 3*BYTE), PARAMETER :: MYSTRAN_VER_MONTH= 'APR' - CHARACTER( 2*BYTE), PARAMETER :: MYSTRAN_VER_DAY = '20' + CHARACTER( 8*BYTE), PARAMETER :: MYSTRAN_VER_NUM = '19.0.0' + CHARACTER( 3*BYTE), PARAMETER :: MYSTRAN_VER_MONTH= 'JUN' + CHARACTER( 2*BYTE), PARAMETER :: MYSTRAN_VER_DAY = '28' CHARACTER( 4*BYTE), PARAMETER :: MYSTRAN_VER_YEAR = '2026' CHARACTER( 33*BYTE), PARAMETER :: MYSTRAN_AUTHOR = 'MYSTRAN developed by Dr Bill Case' diff --git a/extra_licenses/arpack.txt b/dependencies_licenses/arpack.txt similarity index 100% rename from extra_licenses/arpack.txt rename to dependencies_licenses/arpack.txt diff --git a/extra_licenses/atlas.txt b/dependencies_licenses/atlas.txt similarity index 100% rename from extra_licenses/atlas.txt rename to dependencies_licenses/atlas.txt diff --git a/extra_licenses/blis.txt b/dependencies_licenses/blis.txt similarity index 100% rename from extra_licenses/blis.txt rename to dependencies_licenses/blis.txt diff --git a/extra_licenses/gpl-3.0-with-gcc-exception.txt b/dependencies_licenses/gpl-3.0-with-gcc-exception.txt similarity index 100% rename from extra_licenses/gpl-3.0-with-gcc-exception.txt rename to dependencies_licenses/gpl-3.0-with-gcc-exception.txt diff --git a/extra_licenses/lgpl-2.1.txt b/dependencies_licenses/lgpl-2.1.txt similarity index 100% rename from extra_licenses/lgpl-2.1.txt rename to dependencies_licenses/lgpl-2.1.txt diff --git a/extra_licenses/libwinpthread.txt b/dependencies_licenses/libwinpthread.txt similarity index 100% rename from extra_licenses/libwinpthread.txt rename to dependencies_licenses/libwinpthread.txt diff --git a/extra_licenses/mkl.txt b/dependencies_licenses/mkl.txt similarity index 100% rename from extra_licenses/mkl.txt rename to dependencies_licenses/mkl.txt diff --git a/extra_licenses/netlib-blas-lapack.txt b/dependencies_licenses/netlib-blas-lapack.txt similarity index 98% rename from extra_licenses/netlib-blas-lapack.txt rename to dependencies_licenses/netlib-blas-lapack.txt index 9b379c9e..75db4ed4 100644 --- a/extra_licenses/netlib-blas-lapack.txt +++ b/dependencies_licenses/netlib-blas-lapack.txt @@ -6,12 +6,8 @@ Copyright (c) 2000-2013 The University of California Berkeley. All Copyright (c) 2006-2013 The University of Colorado Denver. All rights reserved. -$COPYRIGHT$ - Additional copyrights may follow -$HEADER$ - Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/extra_licenses/openblas.txt b/dependencies_licenses/openblas.txt similarity index 100% rename from extra_licenses/openblas.txt rename to dependencies_licenses/openblas.txt diff --git a/mystran.rc b/mystran.rc index df2ee5f8..18f6ded1 100644 --- a/mystran.rc +++ b/mystran.rc @@ -1,9 +1,9 @@ #include 1 VERSIONINFO -FILEVERSION 18,0,0,0 -PRODUCTVERSION 18,0,0,0 -FILEFLAGSMASK 0x3fL +FILEVERSION 19,0,0,0 +PRODUCTVERSION 19,0,0,0 +FILEFLAGSMASK VS_FFI_FILEFLAGSMASK #ifdef _DEBUG FILEFLAGS VS_FF_DEBUG #else @@ -19,11 +19,12 @@ BEGIN BLOCK "040904E4" BEGIN VALUE "FileDescription", "MYSTRAN Finite Element Solver" - VALUE "FileVersion", "18.0.0" + VALUE "FileVersion", "19.0.0" VALUE "ProductName", "MYSTRAN" - VALUE "ProductVersion", "18.0.0" - VALUE "CompanyName", "Open-Source Project" + VALUE "ProductVersion", "19.0.0" + VALUE "CompanyName", "The MYSTRAN Project" VALUE "OriginalFilename", "mystran.exe" + VALUE "InternalName", "mystran" END END diff --git a/release_notes.md b/release_notes.md deleted file mode 100644 index b9bfc49e..00000000 --- a/release_notes.md +++ /dev/null @@ -1,100 +0,0 @@ -## 17.0.0 (2025/08/24) - - -Added: - - [Added better superLU version, better build script, and counters that don't slow mystran down](https://github.com/MYSTRANsolver/MYSTRAN/pull/131) - - [Implemented initial composite buckling for QUAD4 laminates](https://github.com/MYSTRANsolver/MYSTRAN/pull/139) - - [Improvments to shell element issues and fix for #125 (including initial work for shell buckling)](https://github.com/MYSTRANsolver/MYSTRAN/pull/127) - - [Added CQUAD8 element which uses MITC8](https://github.com/MYSTRANsolver/MYSTRAN/pull/144) - - [Added stress strain and force output for MITC8](https://github.com/MYSTRANsolver/MYSTRAN/pull/147) - - [Added MITC4+ element basic element matrices](https://github.com/MYSTRANsolver/MYSTRAN/pull/149) - - [Added many features for the MITC4+ element](https://github.com/MYSTRANsolver/MYSTRAN/pull/153) - - [Added -1/t^2 factor for MID4 output for PSHELLS/PCOMPS](https://github.com/MYSTRANsolver/MYSTRAN/pull/154) - - [Added mass matrix for MITC4+ element](https://github.com/MYSTRANsolver/MYSTRAN/pull/155) - -Fixed: - - [Made AUTOSPC NSET apply to 3 instead of 1, fixes problems for shells with small thicknesses and fixes issue #129](https://github.com/MYSTRANsolver/MYSTRAN/pull/132) - - [Fixed coordinate system rotation bug which fixes issue #128](https://github.com/MYSTRANsolver/MYSTRAN/pull/133) - - [Implemented temporary fix to K6ROT](https://github.com/MYSTRANsolver/MYSTRAN/pull/134) - - [Modifies shear factor for solids and membrane composites; fixes issue #136](https://github.com/MYSTRANsolver/MYSTRAN/pull/134) - - [Made BAILOUT perform more like NASTRAN](https://github.com/MYSTRANsolver/MYSTRAN/pull/140) - - - -## 16.0.0 (2025/08/09) - - -This update contains several fixes, including breaking changes to the output. - -## Changes -* Runtime performance improvement for large problems by @Copper280z in https://github.com/MYSTRANsolver/MYSTRAN/pull/87 -* Bandit fix by @ceanwang in https://github.com/MYSTRANsolver/MYSTRAN/pull/91 -* fix issues #95 #96 #98 by @victorkemp in https://github.com/MYSTRANsolver/MYSTRAN/pull/100 -* Fix issue #99 shell orthotropic thermal strain by @victorkemp in https://github.com/MYSTRANsolver/MYSTRAN/pull/101 -* fix #102 PCOMP THETA by @victorkemp in https://github.com/MYSTRANsolver/MYSTRAN/pull/105 -* fix TRIA3K nonsymmetric composite error message by @victorkemp in https://github.com/MYSTRANsolver/MYSTRAN/pull/106 -* PARAM QUADTYP MIN4 default by @victorkemp in https://github.com/MYSTRANsolver/MYSTRAN/pull/107 -* fix PARAM STR_CID for solids by @victorkemp in https://github.com/MYSTRANsolver/MYSTRAN/pull/111 -* Fix issue #109 CBUSH long format by @victorkemp in https://github.com/MYSTRANsolver/MYSTRAN/pull/110 -* Solid corner stress by @victorkemp in https://github.com/MYSTRANsolver/MYSTRAN/pull/113 -* Fixed MCID option for CQUAD4 and CTRIA3 by @victorkemp in https://github.com/MYSTRANsolver/MYSTRAN/pull/117 -* Q4SURFIT default value by @victorkemp in https://github.com/MYSTRANsolver/MYSTRAN/pull/116 -* Corrected CHAN's I2,J; and I1's A,I1,I2,J by @victorkemp in https://github.com/MYSTRANsolver/MYSTRAN/pull/119 -* fixed and enabled solid element differential stiffness by @victorkemp in https://github.com/MYSTRANsolver/MYSTRAN/pull/123 -* fix two memory bugs by @Bruno02468 in https://github.com/MYSTRANsolver/MYSTRAN/pull/124 - - -**All commits since 15.2.1**: https://github.com/MYSTRANsolver/MYSTRAN/compare/15.2.1...16.0.0 - -Highlighted Changes -------------------- -Reworked output file management to make it easier to output everything: - - PARAM,PRTALL/FILES,YES/NO (default=NO) - - PARAM,PRTOP2/OP2,YES/NO (default=NO) - - PARAM,PRTANS/ANS,YES/NO (default=NO) - - alias for DEBUG,200,1 - - PARAM,PRTNEU/NEU,YES/NO (default=NO) - - previously done with PARAM,POST,-1 - - PARAM,POST,-1 is no longer used (and will be used by the OP2 for MSC/NX compatibility) - - - Case 1: - - PARAM,PRTALL,YES - - PARAM,PRTOP2,YES - -> OP2 will be written with all results (as well as F06, ANS, NEU) - - Case 2: - - PARAM,PRTALL,NO - - PARAM,PRTOP2,YES - -> OP2 will be written with all op2 results - - Case 3: - - PARAM,PRTALL,NO - - PARAM,PRTOP2,NO - -> Case Control will dictate what the OP2 writes - - -## 15.2.1 (2024/x/x) - -See the release notes. - -Added: -- asdf - -Fixed: -- [fixed segfault caused by closed ANS file](https://github.com/MYSTRANsolver/MYSTRAN/pull/64) -- [Cards may now have comments in them](https://github.com/MYSTRANsolver/MYSTRAN/pull/68) -- [continuation & stress note bug fix](https://github.com/MYSTRANsolver/MYSTRAN/pull/58) -- [added common READ_BDF_LINE subroutine](https://github.com/MYSTRANsolver/MYSTRAN/pull/71) -- [Fix broken UTF-8 in some output files](https://github.com/MYSTRANsolver/MYSTRAN/pull/79) - -## 15.2.0 (2024/4/7) - -This update implements a significant improvement to the RBE3 element -(which would hardly be possible without the invaluable assistance we -got from Victor from the MecWay project), a TUBE2 option for PBARL -props, and adds grid point forces in OP2 output. - -Added: - - [Adding TUBE2 option to PBARL](https://github.com/MYSTRANsolver/MYSTRAN/pull/40) - - [Adding GPFORCE op2 writing to Mystran](https://github.com/MYSTRANsolver/MYSTRAN/pull/55) - -Fixed: - - [The RBE3 Fix](https://github.com/MYSTRANsolver/MYSTRAN/pull/59)