-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Morpho v0.6.0 #247
Merged
Merged
Morpho v0.6.0 #247
Conversation
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
Reset object definition counter to enable morpho_initialize/finalize to be called more than once.
Improved parser
Errors and warnings have similar interface; both have a generic interface given an error struct, and a specialized interface that fetches the error and fills out missing info. ERROR_WARNINGs are always raised as warnings not errors.
New integrator
Update field.c
Security fixes & working directory
Allow absolute paths for povray render
And add volume and volume_enclosed hessians
Remove old files
joshichaitanya3
approved these changes
Apr 1, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Move v0.6.0 into main.
Morpho now built as a shared library
Rather than the previous monolithic strucutre, the Morpho codebase has been divided into a shared library ("libmorpho") and a terminal application ("morpho-cli"). This means that Morpho can easily be embedded in other applications, and improves maintainability as these components can be updated separately. Morphoview has been migrated to a separate repository.
Internal improvements
Improved quadrature
Functionals like
LineIntegral
,AreaIntegral
andVolumeIntegral
can now make use of a greatly improved quadrature routine. This will become the default in future versions of Morpho. Particularly in 3D, the new routine offers significantly improved performance, and can be extended in future. To use the new quadrature routine simply set themethod
optional argument:The method Dictionary can specifically request particular quadrature rules or orders; more information will be in the dev guide.
Namespaces
You can now use the
import
keyword with a new keyword,as
, to import the contents of a module into a given namespace:This helps Morpho programs avoid library conflicts and improves modularization.
Tuple data type
Morpho now supports Tuples, an ordered immutable collection. The syntax is similar to Python:
Tuples act much like Lists, but can be used as keys in a Dictionary.
JSON import and export
Morpho now provides a
JSON
class which supports import and output using the JavaScript Object Notation (JSON) format, widely used for data interchange.Minor new features
format
method on theInt
andFloat
classes.Improved documentation
Many previously un- or under-documented features have now been added to the interactive help. If you notice something that isn't well documented, please alert us via the issue tracker in Github.
Minor fixes