MatmlReader#

class ansys.materials.manager.parsers.matml.matml_reader.MatmlReader(file_path: _PATH_TYPE)#

Parse a MatML (engineering data xml) file.

Fills a nested dict with all the materials and their properties. The key of the first layer are the material names. The conversion into a specific format/object representation is implemented separately.

The data can be accessed via matml_reader.materials

Overview#

parse_from_file

Read MatML (engineering data XML) data from a file.

get_material

Return a certain material.

map_to_material_attributes

Map MatML property set to material model attributes.

is_supported

Check if the material model is supported.

convert_matml_materials

Convert MatML materials to the internal material representation.

materials

Return the parsed material data from the MatML file.

transfer_ids

Return the parsed Workbench Transfer IDs from the MatML file.

matml_file_path

Return the path to the target MatML file.

Import detail#

from ansys.materials.manager.parsers.matml.matml_reader import MatmlReader

Property detail#

property MatmlReader.materials: dict | None#

Return the parsed material data from the MatML file.

Property will be None unless the parser has successfully parsed a MatML file.

Returns:
Dict: Material data from the MatML file

Deprecated since version 0.2.3: materials will be removed in version 0.3.0, instead use the static methods parse_from_file and parse_from_text to parse the MatML file and obtain the parsed material dictionary.

property MatmlReader.transfer_ids: dict[str, str] | None#

Return the parsed Workbench Transfer IDs from the MatML file.

Property will be None unless the parser has successfully parsed a MatML file.

Returns:
Dict: Workbench transfer IDs from the MatML file

Deprecated since version 0.2.3: transfer_ids will be removed in version 0.3.0, instead use the static methods parse_from_file and parse_from_text to parse the MatML file and obtain the Workbench transfer IDs.

property MatmlReader.matml_file_path: str#

Return the path to the target MatML file.

Deprecated since version 0.2.3: matml_file_path will be removed in version 0.3.0, instead use the static methods parse_from_file and parse_from_text to parse the MatML file and obtain the parsed material dictionary and the Workbench transfer IDs.

Method detail#

MatmlReader.parse_from_file() None#

Read MatML (engineering data XML) data from a file.

Returns the material information and the workbench transfer identities (if present).

Parameters:
file_path: Union[str, Path]

Path to MatML file on disk

Returns:
dict[str, Union[str, dict]]
MatmlReader.get_material(name: str) dict#

Return a certain material.

Deprecated since version 0.2.3: get_material will be removed in version 0.3.0, instead use the static methods parse_from_file and parse_from_text to parse the MatML file and obtain the parsed material dictionary and the Workbench transfer ID.

MatmlReader.map_to_material_attributes(material_model: ansys.materials.manager._models._common.material_model.MaterialModel, property_set: dict) dict#

Map MatML property set to material model attributes.

Parameters:
material_modelMaterialModel

The material model to map the properties to.

property_setdict

The property set containing the MatML properties.

Returns
——-
dict

A dictionary mapping material model attributes to their corresponding quantities.

MatmlReader.is_supported(material_model: ansys.materials.manager._models._common.material_model.MaterialModel) bool#

Check if the material model is supported.

Parameters:
material_modelMaterialModel

Material model to check.

Returns:
bool

True if the material model is supported, False otherwise.

MatmlReader.convert_matml_materials() dict[str, Sequence[ansys.materials.manager._models.material.Material]]#

Convert MatML materials to the internal material representation.

Returns:
dict[str, Sequence[Material]]

A dictionary mapping material names to their Material objects.