Releases¶
1.0.4¶
Added missing support for installations with classkit license. (#40)
Added name validation of available configuration options. (#40)
Added support for persistent configuration storage to
mph.config
.Fixed: No preference
checkforrecoveries
on certain installations. (#39)Fixed: Unclear error message when requested version is not installed. (#42)
1.0.3¶
Published on May 5, 2021.
Fixes:
Client.remove()
did not accept model by name.Fixes: Node names were not escaped when creating new features.
Fixes:
Model.save()
failed whenformat
given, but notpath
.Fixes:
Model.save()
withoutpath
given did not save new models.Fixes:
Model.parameters(evaluate=True)
returned strings, not numbers.Fixes off-by-one error when passing
inner
indices toModel.evaluate()
.Comsol expects 1-based indices, as opposed to Python’s 0-based indexing.
Adds missing built-in group
'couplings'
.mph.start()
now returns existing client instance on subsequent calls.
1.0.2¶
Published on April 28, 2021.
Assigns more typical tag names when creating new model features.
In most cases, tags are now named like they are in the Comsol GUI.
Node.retag()
allows post-hoc modification of a node’s tag.Adds missing built-in groups, e.g. evaluations and tables.
Improves performance of node navigation in client–server mode.
The internal type-casting converts
Node
instances to their tags.The internal type-casting handles lists of numbers.
Before,
property()
andcreate()
would only accept lists of strings.Node.type()
now returns nothing if node has no feature type.Moved tutorial model to
demos
folder.Added demo script
create_capacitor.py
that generates the tutorial model.
1.0.1¶
1.0.0¶
Published on April 13, 2021.
We now offer you the best API Comsol has ever seen! 🎉
See “Creating models: Python style” for a feature demonstration.
A new
Node
class allows easy navigation of the model tree.The
Model
class relies internally onNode
for most functionality.Feature nodes can be created with
Model.create()
.Node properties can be read and written via
Model.property()
.Feature nodes can be removed with
Model.remove()
.The
Node
class has additional functionality for modifying the model.All feature nodes can now be toggled, not just physics features.
Model.features()
andModel.toggle()
have been deprecated.Use the
Node
class instead to access that functionality.Model.import_()
was introduced to supersedeModel.load()
.Arguments
unit
anddescription
toModel.parameter()
are deprecated.Parameter descriptions should now be accessed via
Model.description()
.Model.parameters()
now returns a dictionary instead of named tuples.This is a breaking change, but in line with other parts of the API.
mph.start()
now picks a random free server port in client-server mode.This avoids collisions when starting multiple processes on Linux and macOS.
Models may be saved as Java, Matlab, or VBA source files.
mph.tree()
helps developers inspect the model tree in the console.Known issue: Navigating the model tree is slow in client–server mode.
It is much faster in stand-alone mode, the default on Windows.
Made folder search case-insensitive on Linux/macOS, as requested in #31.
Documentation builds now use the MyST parser and the Furo theme.
0.9.1¶
Published on March 24, 2021.
Added documentation chapter “Demonstrations”.
Added demo script that runs parallel Comsol sessions.
Amended
mph.start()
to allow hand-selecting the server port.This makes the demo script work reliably on Linux and macOS.
Improved error handling at server start-up.
Relaxed log levels during discovery of Comsol installations.
This suppresses possibly confusing log messages as described in #28.
0.9.0¶
Published on March 10, 2021.
mph.start()
is now the preferred way to start a local Comsol session.On Windows, it starts a lightweight, stand-alone client.
On Linux and macOS, it starts a thin client and local server.
This is due to limitations on these platforms described in issue #8.
Configuration options are exposed by
mph.option()
.An in-memory cache for previously loaded model files may be activated.
Selection names are returned by
model.selections()
.Feature names in physics interfaces are returned by
model.features()
.Feature nodes in physics interfaces can be toggled on or off.
Parameter descriptions can be modified.
Parameter values may be returned as evaluated numbers instead of string expressions.
Custom classes derived from
Model
can now be more easily type-cast to.Users are warned if log-in details for the Comsol server have not been set up.
Fixes issue #23 regarding discovery with older Python versions on Windows.
Fixes issue #24 regarding localized server output messages.
0.8.2¶
Published on February 13, 2021.
Works around issue of incorrect exit behavior.
Fixes: Exit code was always 0, even when terminating with
sys.exit(2)
.Fixes: Exit code was 0, not 1, when exiting due to unhandled exception.
0.8.1¶
Published on February 9, 2021.
Applies fixes for macOS from pull request #11.
macOS support has now actually been tested according to issue #13.
0.8.0¶
Published on February 7, 2020.
Adds support for Linux and macOS.
Caveats apply. See documentation chapter “Limitations” as well as issues #8 and #9.
Refactored discovery mechanism for Comsol installations.
0.7.6¶
Published on November 29, 2020.
Unpins JPype and Python version.
Works around issue #1 by brute-forcing shutdown of Java VM.
Client
instances now report the Comsol version actually used.Updates the documentation regarding limitations.
Resolves issue #4 regarding compatibility with 32-bit Python.
Possibly resolves issue #5 regarding spaces in path names.
0.7.5¶
Published on July 30, 2020.
First release used extensively “in production”.
Last release based on JPype 0.7.5.
Performs a regular shutdown of the Java VM, as opposed to releases to follow.
Respects user-set Comsol preferences when starting
Client
.Adds screen-shot of Comsol demonstration model to Tutorial.
Adds deployment instructions for developers.
0.7.4¶
Published on July 17, 2020.
Pins JPype dependency to version 0.7.5.
Works around shutdown delays of the Java VM, see issue #1.
Requires Python version to be 3.8.3 or below.
Minor improvements to wording of documentation.
0.7.3¶
Published on June 15, 2020.
Suppresses console pop-up during client initialization.
Ignores empty units in parameter assignments.
0.7.2¶
Published on May 18, 2020.
Makes
dataset
argument toModel.outer()
optional.Minor tweaks to project’s meta information.
0.7.1¶
0.7.0¶
Published on May 17, 2020.
First open-source release published on PyPI.