Metadata-Version: 2.1
Name: pyfemtet
Version: 0.4.15
Summary: Design parameter optimization using Femtet.
Home-page: https://github.com/pyfemtet/pyfemtet
License: BSD-3-Clause
Author: kazuma.naito
Author-email: kazuma.naito@murata.com
Requires-Python: >=3.9.3,<3.13
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: babel (>=2.15.0,<3.0.0)
Requires-Dist: botorch (>=0.9.5) ; python_version >= "3.12" and python_version < "3.13"
Requires-Dist: botorch (>=0.9.5,<0.10.0) ; python_version < "3.12"
Requires-Dist: colorlog (>=6.8.0,<7.0.0)
Requires-Dist: dash (>=2.14.2,<3.0.0)
Requires-Dist: dash-bootstrap-components (>=1.5.0,<2.0.0)
Requires-Dist: dask (>=2023.12.1,<2024.0.0)
Requires-Dist: distributed (>=2023.12.1,<2024.0.0)
Requires-Dist: femtetutils (>=1.0.0,<2.0.0)
Requires-Dist: numpy (>=1.26.2,<2.0.0)
Requires-Dist: openpyxl (>=3.1.2,<4.0.0)
Requires-Dist: optuna (>=3.4.0,<4.0.0)
Requires-Dist: optuna-integration (>=3.6.0,<4.0.0)
Requires-Dist: pandas (>=2.1.3,<3.0.0)
Requires-Dist: plotly (>=5.18.0,<6.0.0)
Requires-Dist: psutil (>=5.9.6,<6.0.0)
Requires-Dist: pytest-dashboard (>=0.1.2,<0.2.0)
Requires-Dist: pywin32 (>=306,<307)
Requires-Dist: scipy (>=1.11.4,<2.0.0)
Requires-Dist: tqdm (>=4.66.1,<5.0.0)
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/jp/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.

