-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 0b22761
Showing
3,686 changed files
with
1,436,634 additions
and
0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# Ignore the following folders | ||
bin/ | ||
*binary*/ | ||
build*/ | ||
_build/ | ||
share/doc/prevabs/_build/* | ||
evals/ | ||
.vscode/ | ||
|
||
# Ignore the following files | ||
~$* | ||
*.pos | ||
*.K | ||
*.ech | ||
*.opt | ||
*.v0 | ||
*.v1 | ||
*.v1S | ||
*.v20 | ||
*.v21 | ||
*.v22 | ||
*.msh | ||
*.geo | ||
*.stackdump | ||
*_vabs*.dat | ||
*.sc | ||
*.sg | ||
*.glb | ||
*.snm | ||
*.fi | ||
*.o | ||
*.exe | ||
*~ | ||
/*\#* | ||
*.U | ||
*.E | ||
*.EM | ||
*.EN | ||
*.EMN | ||
*.S | ||
*.SM | ||
*.SN | ||
*.SMN | ||
*.ELE | ||
|
||
# Ignore specific files | ||
test.exe | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
# Change log | ||
|
||
## Version 1.5 | ||
|
||
- 1.5.0 (2022/06/05) | ||
- Added a new type of line "airfoil", which can accept the file name of a standard airfoil data file. | ||
- Added new arguments for points defined on an airfoil line. | ||
- Added a new function to remove very short edges, very close vertices. | ||
- Added a new input of length tolerance for edge removal. | ||
- Added a new input to for multiple loading cases for dehomogenization and failure analysis. | ||
- Added a new input to include a file of loading cases for dehomogenization and failure analysis. | ||
- Added a new method to define an arc using two end points and a radius. | ||
- Added a new method to define a line by joining multiple lines. | ||
- Set the default line type to "straight", which can be omitted now. | ||
- Fixed the issue of overlapping/duplicated mesh verticies. | ||
|
||
## Version 1.4 | ||
|
||
- 1.4.3 (2022/01/11) | ||
- Fixed the issue of plotting element stress and strain results. | ||
- Fixed the issue of plotting dehomogenization results with quadratic elements. | ||
- Added groups for different stress and strain plots. | ||
- Added alternative tag names for material strength properties. | ||
- Added visualization for initial failure analysis results. | ||
- Added a new example for initial failure analysis (ex_uh60a_f). | ||
- Simplifed and unified material strength inputs for different types of materials. | ||
- Updated the section of material strength property input in the documentation. | ||
|
||
- 1.4.2 (2021/11/05) | ||
- Fixed an issue related with layer generation. | ||
|
||
- 1.4.1 (2021/09/01) | ||
- Fixed an issue in assigning theta1 and theta3 for filling components. | ||
|
||
- 1.4.0 (2021/06/16) | ||
- Added a new command option to run integrated VABS. | ||
- Added new inputs for the rotor blade specific parameterization. | ||
- Added new inputs for strength property of 'lamina' type materials. | ||
- Added new inputs for assigning orientations for filling materials. | ||
- Added a new input option for recover analysis in VABS. The default is linear beam theory. | ||
- Added a new input option for setting the tolerance used in geometric computation. | ||
- Added the capability of failure analysis using VABS. | ||
- Updated the logging system. | ||
- Changed the default element type to 'quadratic'. | ||
- Unified the input syntax of recovery/dehomogenization of VABS/SwfitComp. | ||
- Fixed the issue of incorrectly parsing numbers with more than one spaces between numbers. | ||
- Fixed an issue in transforming an arc defined by center, start and radius. | ||
|
||
## Version 1.3 | ||
|
||
- 1.3.0 (2021/02/25) | ||
- Added a new capability to create base points using normalized parametric locations on a base line. | ||
- Added a new capability to assign local mesh size for filling components. | ||
|
||
## Version 1.2 | ||
|
||
- 1.2.0 (2020/11/10) | ||
- Added a new capability to create layups from sublayups. | ||
- Added a new capability to create segments using normalized parametric locations on a base line. | ||
|
||
## Version 1.1 | ||
|
||
- 1.1.1 (2020/10/28) | ||
- Fixed the problem of unable to read recover analysis result files on Linux. | ||
- Fixed a problem when the segment is too short while the laminate is too thick. | ||
- 1.1.0 (2020/10/15) | ||
- Added a new format for the input file. Now baselines and layups data are merged into the main input file, to reduce the number of input files needed. | ||
- Added a new material type 'lamina' accepting four numbers for elastic properties. | ||
- Added default small numbers for elastic properties for isotropic materials. | ||
- Updated the fill-type component for non-structural mass. | ||
|
||
## Version 1.0 (2019/07/01) | ||
|
||
- Added capability to create quadratic triangle elements. In the main input file, under the xml element `<general>`, create a sub element `<element_type>` and set it to `quadratic` or `2`. Default is `linear`. | ||
- Added a new output file `*.txt` storing all running messages. | ||
- Changed one of the layup methods tag name from 'explict list' ('el') to 'layer list' ('ll'). | ||
- Fixed the crashing issue caused by zero number of layers. | ||
- Fixed the bug that sectional loads were read and written to the distributed loads when doing recovery using VABS. | ||
- Fixed the bug that local lamina data does not overwrite global data. | ||
|
||
## Version 0.6 (2018/07/01) | ||
|
||
- Added xml elements in the main input file for various options of VABS/SwiftComp execution. | ||
- Added xml elements in the main input file for failure analysis of SwiftComp. | ||
- Added a `<basepoints>` element in the baseline file. Now for simple shapes, users do not need to use an extra basepoint file, which can still be included for long point list. | ||
- Added a material database file along with the executable. Now PreVABS will look for materials in this file by default. | ||
- Changed Gmsh library to dynamic/shared library. | ||
|
||
## Version 0.5 (2018/01/31) | ||
|
||
- Added the capability to create nose mass in an airfoil type cross section. | ||
- Added the post-processing function to visualize the recovered strains and stresses in Gmsh. | ||
|
||
## Version 0.4 (2017/12/04) | ||
|
||
- Added the capability to read stacking sequence code. | ||
- Added the parameter to set the number of straight lines to approximate an arc or circle. | ||
- Changed the Gmsh input file name to `*.msh`, where `*` is the cross section name. | ||
|
||
## Version 0.3 (2017/11/27) | ||
|
||
- Updated the manual. | ||
- Changed the default behaviour of the command with input file specified only to preparing VABS input (without running VABS). | ||
- Changed the element tag `<origin>` to `<translate>`. Now the two numbers in this element moves base points and base lines, instead of the origin. | ||
- Changed the element tag `<rotation>` to `<rotate>`. | ||
- Changed the 'level' of a segment from an element to an attribute, with default 1. | ||
- Changed the 'layup_direction' of a segment from an element to an attribute of the layup, with default 'right'. | ||
- Changed the material type 'engineering constants' to 'orthotropic'. | ||
- Set the default element type as 'quadratic'. | ||
- Set the default mesh size to the smallest layer thickness. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
cmake_minimum_required(VERSION 3.0 FATAL_ERROR) | ||
project( prevabs C CXX Fortran ) | ||
|
||
|
||
|
||
set( CMAKE_CXX_STANDARD 11 ) | ||
|
||
set( PREVABS_MAJOR_VERSION 1 ) | ||
set( PREVABS_MINOR_VERSION 4 ) | ||
set( PREVABS_VERSION "${PREVABS_MAJOR_VERSION}.${PREVABS_MINOR_VERSION}" ) | ||
|
||
include(CheckCXXCompilerFlag) | ||
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) | ||
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) | ||
if(COMPILER_SUPPORTS_CXX11) | ||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") | ||
elseif(COMPILER_SUPPORTS_CXX0X) | ||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") | ||
else() | ||
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.") | ||
endif() | ||
|
||
|
||
|
||
include_directories( ${CMAKE_SOURCE_DIR}/include ) | ||
# include_directories( ${CMAKE_SOURCE_DIR}/include/gmsh ) | ||
|
||
set( PROJECTNAME "prevabs" ) | ||
set( SOURCES | ||
src/geo/PGeoClasses.cpp | ||
src/geo/PGeoLine.cpp | ||
src/geo/PDCELVertex.cpp | ||
src/geo/PDCELHalfEdge.cpp | ||
src/geo/PDCELHalfEdgeLoop.cpp | ||
src/geo/PDCELFace.cpp | ||
src/geo/PDCEL.cpp | ||
src/geo/PBST.cpp | ||
src/geo/geo.cpp | ||
src/geo/offset.cpp | ||
src/geo/intersect.cpp | ||
src/cs/PArea.cpp | ||
src/cs/Material.cpp | ||
src/cs/PSegment.cpp | ||
src/cs/PComponent.cpp | ||
src/cs/PBuildComponentLaminate.cpp | ||
src/cs/PBuildComponentFilling.cpp | ||
src/cs/PBuildSegmentAreas.cpp | ||
src/cs/CrossSection.cpp | ||
src/cs/PBaseLine.cpp | ||
src/cs/PModel.cpp | ||
src/cs/join.cpp | ||
src/io/PModelIO.cpp | ||
src/io/PModelIOReadBasePoint.cpp | ||
src/io/PModelIOReadBaseLine.cpp | ||
src/io/PModelIOReadMaterial.cpp | ||
src/io/PModelIOReadLayup.cpp | ||
src/io/PModelIOReadComponent.cpp | ||
src/io/PModelIOReadComponentLaminate.cpp | ||
src/io/PModelIOReadComponentFilling.cpp | ||
src/io/PModelIOReadCrossSection.cpp | ||
src/io/PModelIODehomo.cpp | ||
src/io/PModelIOSG.cpp | ||
src/io/PModelIOPlot.cpp | ||
src/gmsh/PModelBuildGmsh.cpp | ||
src/gmsh/PModelIOGmsh.cpp | ||
src/plog.cpp | ||
src/overloadOperator.cpp | ||
src/utilities.cpp | ||
src/execu.cpp | ||
src/main.cpp | ||
src/vabs/output.f90 | ||
) | ||
# add_subdirectory(src) | ||
|
||
|
||
|
||
add_executable( ${PROJECTNAME} ${SOURCES} ) | ||
|
||
|
||
|
||
# Link Boost libraries | ||
# -------------------- | ||
set(Boost_USE_STATIC_LIBS OFF) | ||
# set(Boost_USE_MULTITHREADED ON) | ||
set(Boost_USE_STATIC_RUNTIME OFF) | ||
add_definitions( -DBOOST_ALL_DYN_LINK ) | ||
|
||
find_package( Boost 1.66 COMPONENTS log log_setup system thread REQUIRED ) | ||
message( ${Boost_INCLUDE_DIRS} ) | ||
message( ${Boost_LIBRARY_DIRS} ) | ||
message( ${Boost_LIBRARIES} ) | ||
include_directories( ${Boost_INCLUDE_DIRS} ) | ||
|
||
target_link_libraries( ${PROJECTNAME} ${Boost_LIBRARIES} ) | ||
|
||
|
||
# Link Gmsh library | ||
# ----------------- | ||
find_library( GMSH NAMES Gmsh PATHS "./lib" REQUIRED NO_DEFAULT_PATH) | ||
message( ${GMSH} ) | ||
|
||
target_link_libraries( ${PROJECTNAME} ${GMSH} ) | ||
|
||
|
||
|
||
# Link VABS library | ||
# ----------------- | ||
# find_library( VABS NAMES VABS PATHS "${VABS_INSTALL_DIR}" REQUIRED NO_DEFAULT_PATH) | ||
# find_library( VABS NAMES VABSLib.so PATHS "${VABS_INSTALL_DIR}" REQUIRED NO_DEFAULT_PATH ) | ||
# message( ${VABS} ) | ||
# set( CMAKE_SHARED_LIBRARY_PREFIX "" ) | ||
|
||
# target_link_directories( ${PROJECTNAME} "/home/msg/a/MSGCodes" ) | ||
# target_link_libraries( ${PROJECTNAME} ${VABS} ) | ||
# target_link_libraries( ${PROJECTNAME} "${VABS_INSTALL_DIR}/VABSLib.so" ) | ||
# target_link_options( ${PROJECTNAME} PRIVATE "${VABS_INSTALL_DIR}/VABSLib.so" ) | ||
|
||
if( WIN32 OR CYGWIN OR MINGW ) | ||
find_library( VABS NAMES VABSLIB.dll.a PATHS "${VABS_INSTALL_DIR}" REQUIRED NO_DEFAULT_PATH) | ||
message( ${VABS} ) | ||
target_link_libraries( ${PROJECTNAME} ${VABS} ) | ||
# target_link_options( ${PROJECTNAME} PRIVATE "${VABS_INSTALL_DIR}/VABSLIB.dll" ) | ||
elseif( UNIX ) | ||
target_link_options( ${PROJECTNAME} PRIVATE "${VABS_INSTALL_DIR}/VABSLib.so" ) | ||
endif() | ||
|
||
|
||
# Install | ||
# ------- | ||
install(TARGETS ${PROJECTNAME} RUNTIME DESTINATION bin) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Development Log | ||
|
||
|
||
## Done | ||
|
||
2022/07/23 | ||
|
||
- [Bug] Fixed the issue of reading result of failure analysis of the new format with an extra line of load case label. | ||
- [Opt] Changed the Gmsh plot option for strength ratios. | ||
|
||
|
||
## Backlog | ||
|
||
|
Oops, something went wrong.