Releases: gha3mi/forcad
Releases · gha3mi/forcad
v0.8.0
Added
- New module procedure interfaces.
Changed
- Replaced OpenMP loops with
do concurrent
. - Moved external procedures into their corresponding modules.
- Replaced several allocatable arrays with fixed-size arrays.
- Updated the Fortitude ignore list.
- Renamed variable
dim
tod
.
Fixed
- Corrected variable usage in NURBS derivative calls.
- Removed unused procedures from module imports.
- Updated derivative calls in NURBS tests.
- Removed unused variable.
- Fixed line truncation issues.
Full Changelog: v0.7.0...v0.8.0
v0.7.0
Features
- Add initial environment configuration in
environment.yml
- Add pre-commit configuration for Fortitude hooks
- Add
extra.fortitude.check
section tofpm.toml
for improved static checks - Add IGES export functionality for NURBS curves and surfaces
- Add VSCode configuration for running example programs
- Add type-bound procedure
export_Xth()
Bug Fixes
- Update ignore list in
extra.fortitude.check
- Explicitly add
implicit none
to prevent implicit typing - Correct filename of Dependabot configuration (
dependabot.yml
) - Remove redundant
isinf/isnan
calls fromforcad_utils
- Fix IGES file extensions
- Match evaluation points (
Xt
) to knot vector domain - Resolve import conflict by importing only
timer
fromfortime
Documentation
- Update roadmap with GUI implementation suggestion using OpenGL
- Refactor and update Ford documentation
- Mark binary VTK support as completed in
ROADMAP.md
- Replace outdated references (
ifx/ifort
) withifx
inREADME.md
Chores (CI/CD & Dependency Improvements)
- Add Dependabot configuration for automatic GitHub Actions updates
- Update Codecov action to v5
- Update example PPM files to consistently use
wp
kind real numbers - Improve the
export_vtk_legacy
function - Exclude Intel-classic compilers from CI tests on Windows/macOS
- Include Intel compilers in GitHub Actions CI (
fpm.yml
) - Explicitly update fpm dependencies
- Remove trailing whitespace from source files
- Include export functionality in unit tests
Full Changelog: v0.6.1...v0.7.0
v0.6.1
What's Changed
- Improved
nearest_point2()
procedures. - Updated and improved unit tests.
- Fixed bugs in
set4
andcompute_dTgc_bspline_2d_vector
innurbs_surface
.
Full Changelog: v0.6.0...v0.6.1
v0.6.0
What's Changed
- Added generic
get_nc()
method tonurbs_surface
andnurbs_volume
derived types. - Added
det
,inv
,dyad
andgauss_leg
procedures in theforcad_utils
module. - Added procedure
set1a
to thenurbs_curve
derived type. - Added procedure
set4
tonurbs_curve
,nurbs_area
andnurbs_volume
derived types. - Added optional input variable
elem
toderivative_scalar
procedures. - Added
ansatz
procedures to compute shape functions, derivatives of shape functions and (dV
,dA
,dL
). - Added
cmp_length()
to compute the length of a NURBS curve. - Added
cmp_area()
to compute the area of a NURBS surface. - Added
cmp_volume()
to compute the volume of a NURBS volume. - Added examples for
cmp_length()
,cmp_area()
, andcmp_volume()
.
Full Changelog: v0.5.1...v0.6.0
v0.5.1
v0.5.0
What's Changed
- Added
cmp_elemFace*()
andcmp_degreeFace()
methods in #15 - Added
cmp_Xg()
to evaluate the geometry points. - Added generic method
derivative2()
to compute the second derivative of a NURBS objects. - Added
nearest_point2()
to compute the nearest point on a NURBS object using optimization. - Added new tests: fdm_curve.f90, fdm_surface.f90, fdm_volume.f90.
- Updated nearest_point_* examples to use the new
nearest_point2()
method. - Added Interfaces.
- Clean up memory in examples and tests and general improvements in #9
- Added screenshots of examples to README.md in #10
- Included nvfortran in CI and fixed the missing allocation for Tgc in #12
- Add CHANGELOG.md file in #1
- Add CONTRIBUTING.md file in #2
- Utilize ForUnitTest for unit testing in #4
- Exclude macOS and nvidia compiler in #5
- Added Support for OpenMP and do concurrent in #6
- Feature Enhancements and Performance Improvements in #13
Full Changelog: v0.4.1...v0.5.0
v0.4.1
v0.4.0
v0.3.0
- Added
remove_knots()
method for curves, surfaces, and volumes. - Introduced
put_to_nurbs()
method for volumes. - IGA (Isogeometric Analysis) elements connectivity can now be retrieved.
- Included predefined shapes: Circle, Tetragon, Hexahedron.
- New rotation methods (
rotate_Xc
androtate_Xg
) for curves, surfaces, and volumes. - New translation methods (
translate_Xc
andtranslate_Xg
) for curves, surfaces, and volumes. - Added basic unit tests and examples.
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Added new procedures for NURBS curves, surfaces, and volumes:
insert_knots()
elevate_degree()
derivative()
basis()
is_rational()
Removed Bezier module, as NURBS can be used to represent Bezier objects.
Full Changelog: v0.1.1...v0.2.0