[OptApp] Adding support for PyROL Library #12727
Open
+3,724
−6
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📝 Description
PR adds Python wrapper
This pull request introduces significant enhancements to the OptimizationApplication by integrating the PyRol library and improving existing algorithms. The most important changes include adding new PyRol algorithms, updating existing algorithms, and introducing standardized objective and constraint classes for PyRol.
Integration of PyRol Library:
applications/OptimizationApplication/python_scripts/algorithms/PyRol_algorithms.py
: Added a new PyRol algorithm class with methods for initialization, solving, and finalization. This class wraps the PyRol library to enable its use in optimization problems.Enhancements to Existing Algorithms:
applications/OptimizationApplication/python_scripts/algorithms/NLOPT_algorithms.py
: Updated the class docstring to better describe the purpose of the NLOPT algorithm wrapper.applications/OptimizationApplication/python_scripts/algorithms/SciPy_algorithms.py
: Replaced the initialization of the design variables vector to use SciPy instead of NLOPT.Standardized Objective and Constraint Classes for PyRol:
applications/OptimizationApplication/python_scripts/algorithms/standardized_PyRol_objective.py
: Introduced theStandardizedPyRolObjective
class to standardize the objective function for PyRol algorithms.applications/OptimizationApplication/python_scripts/algorithms/standardized_PyRol_constraint.py
: Added theStandardizedPyRolConstraint
class to standardize constraints for PyRol algorithms.Additional Changes:
applications/OptimizationApplication/tests/algorithm_tests/pyroll_tests/pyrol_shell_thickness_opt/input_lbfgs.xml
: Added a new XML input file for testing the PyRol algorithms with specific parameters.applications/OptimizationApplication/tests/algorithm_tests/pyroll_tests/pyrol_shell_thickness_opt/materials_2D.json
: Added a JSON file defining material properties for 2D shell optimization tests.Please mark the PR with the appropriate tags:
🆕 Changelog
Please summarize the changes in one list to generate the changelog:
E.g.