Metadata-Version: 2.3
Name: pyfemtet
Version: 1.1.2
Summary: Design parameter optimization using Femtet.
License: MIT
Author: pyfemtet
Author-email: 148934231+pyfemtet@users.noreply.github.com
Requires-Python: >= 3.10, < 3.14
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: babel (>=2.15.0,<3)
Requires-Dist: botorch (>=0.12.0,<0.15.0)
Requires-Dist: colorlog (>=6.8.0,<7)
Requires-Dist: dash (>=2.17.0,<3)
Requires-Dist: dash-bootstrap-components (>=1.5.0,<2)
Requires-Dist: dask (>=2024.12.1,<2024.13.0)
Requires-Dist: distributed (>=2024.12.1,<2024.13.0)
Requires-Dist: femtetutils (>=1.0.0,<2) ; sys_platform == "win32"
Requires-Dist: fire (>=0.7)
Requires-Dist: frozendict (>=2.4.6)
Requires-Dist: numpy (>=2.0.0,<3)
Requires-Dist: openpyxl (>=3.1.2,<4)
Requires-Dist: optuna (>=3.4.0,<5.0.0)
Requires-Dist: optuna-integration (>=3.6.0,<5.0.0)
Requires-Dist: pandas (>=2.2.3,<3)
Requires-Dist: plotly (>=5.22.0,<6)
Requires-Dist: psutil (>=5.9.6,<6)
Requires-Dist: pywin32 (<307) ; sys_platform == "win32" and python_version < "3.13"
Requires-Dist: pywin32 (>=309) ; sys_platform == "win32" and python_version >= "3.13"
Requires-Dist: pyyaml (>=6.0.2,<7)
Requires-Dist: scipy (>=1.11.4,<2)
Requires-Dist: torch
Requires-Dist: tqdm (>=4.66.1,<5)
Project-URL: Repository, https://github.com/pyfemtet/pyfemtet
Description-Content-Type: text/markdown

# Welcome! PyFemtet is the extension package for Femtet.

## Main Features

<img src="img/pyfemtet_conceptual_diagram.png" width="450">

> [!NOTE]
> For details, see the documentation of "Related Pages" section.

### Design Parameter Optimization
- Single or multiple objective optimization
- Progress monitor GUI
- Parallel computation with controling multiple Femtet processes
- Result output in easy-to-analyze csv format for Excel and other tools

### Dispatch Extensions
- Create `CFemtet` object with process ID specification

## Related Pages

- Femtet Website: https://www.muratasoftware.com/
- Documentation (English): https://pyfemtet.readthedocs.io/en/stable/
- ドキュメント（日本語）: https://pyfemtet.readthedocs.io/ja/stable/
- Source code: https://github.com/pyfemtet/pyfemtet
- Bug reports: https://github.com/pyfemtet/pyfemtet/issues


## Getting Started

> [!NOTE]
> Currently Femtet and `pyfemtet` supports **Windows only**.

### 1. Install Femtet

- Access [Murata Software Website](https://www.muratasoftware.com/) and get **Femtet trial version** or purchase a lisence.
- Get installer and launch it.
- **Run 'EnableMacros'** from the start menu.
> [!NOTE]
> This procedure requires administrator privileges.


### 2. Install PyFemtet

> [!NOTE]
> The commands on this section are for `CMD` or `PowerShell` on with `py launcher`.
> For a virtual environment, replace `py` to `python`.
> If you do not have Python, please install it first.

- Get `pyfemtet` via following command:

    ```py -m pip install pyfemtet```


### 3. Setting `win32com` Constants

- Run following command to enable COM constants:

    ```py -m win32com.client.makepy FemtetMacro```
    
That's all! Now you can use Femtet's extention features via `pyfemtet`.
For more information including sample code and FEM projects, see the documentation of "Related Pages" section.

