Skip to content

Releases: gha3mi/forcad

v0.6.1

01 Jul 12:09
Compare
Choose a tag to compare

What's Changed

  • Improved nearest_point2() procedures.
  • Updated and improved unit tests.
  • Fixed bugs in set4 and compute_dTgc_bspline_2d_vector in nurbs_surface.

Full Changelog: v0.6.0...v0.6.1

v0.6.0

28 Jun 15:11
Compare
Choose a tag to compare

What's Changed

  • Added generic get_nc() method to nurbs_surface and nurbs_volume derived types.
  • Added det, inv, dyad and gauss_leg procedures in the forcad_utils module.
  • Added procedure set1a to the nurbs_curve derived type.
  • Added procedure set4 to nurbs_curve, nurbs_area and nurbs_volume derived types.
  • Added optional input variable elem to derivative_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(), and cmp_volume().

Full Changelog: v0.5.1...v0.6.0

v0.5.1

24 Jun 18:38
Compare
Choose a tag to compare

What's Changed

  • Fixed initial guess in nearest_point2() procedures.

Full Changelog: v0.5.0...v0.5.1

v0.5.0

22 Jun 18:44
206fa79
Compare
Choose a tag to compare

What's Changed

  • Added cmp_elemFace*() and cmp_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

18 Apr 16:48
Compare
Choose a tag to compare
  • Added new predefined shapes: half circle, 2D ring, half 2D ring, 3D ring, half 3D ring and c-shapes.
  • Included new examples.
  • Implemented generic procedures get_Xc(), get_Xg(), and get_Wc().
  • Added cmp_degree().
  • Designed a logo using ForCAD.
  • Various improvements and bug fixes.
    logo

v0.4.0

15 Apr 23:16
Compare
Choose a tag to compare
  • Added a show() method for visualizing NURBS curves, surfaces and volumes using PyVista.
    ForCAD PyVista

v0.3.0

15 Apr 10:38
Compare
Choose a tag to compare
  • 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 and rotate_Xg) for curves, surfaces, and volumes.
  • New translation methods (translate_Xc and translate_Xg) for curves, surfaces, and volumes.
  • Added basic unit tests and examples.

Full Changelog: v0.2.0...v0.3.0

v0.2.0

07 Apr 12:03
Compare
Choose a tag to compare

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

v0.1.1

01 Apr 18:34
Compare
Choose a tag to compare