Skip to content
27 changes: 27 additions & 0 deletions .github/workflows/url-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Check URLs

on:
push:
branches:
- main
- docs
pull_request:
branches:
- main
- docs
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: urls-checker
uses: urlstechie/urlchecker-action@master
with:
subfolder: docs
file_types: .md,.py,.rst,.txt
print_all: false
timeout: 5
retry_count: 3
force_pass : false
6 changes: 4 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,12 @@ The main executable, `./PolyFEM_bin`, can be called as a command-line interface.
PolyFEM in Python
------

[![Last update](https://anaconda.org/conda-forge/polyfempy/badges/latest_release_date.svg)](https://anaconda.org/conda-forge/polyfempy)
[![Version](https://anaconda.org/conda-forge/polyfempy/badges/version.svg)](https://anaconda.org/conda-forge/polyfempy)
[![Latest Release Date](https://anaconda.org/conda-forge/polyfempy/badges/latest_release_date.svg)](https://anaconda.org/conda-forge/polyfempy)
[![Downloads](https://anaconda.org/conda-forge/polyfempy/badges/downloads.svg)](https://anaconda.org/conda-forge/polyfempy)
[![Install](https://anaconda.org/conda-forge/polyfempy/badges/installer/conda.svg)](https://anaconda.org/conda-forge/polyfempy)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/polyfem/polyfem.github.io.git/docs?filepath=docs%2Fpython_examples.ipynb)
[![Platforms](https://anaconda.org/conda-forge/polyfempy/badges/platforms.svg)](https://anaconda.org/conda-forge/polyfempy)
[![License](https://anaconda.org/conda-forge/polyfempy/badges/license.svg)](https://anaconda.org/conda-forge/polyfempy)

For more details refer to the [Python section](python.md)

Expand Down
16 changes: 8 additions & 8 deletions docs/polyfempy_doc.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ stringyfied json description of this class, used to run the solver
### set_advanced_option
`set_advanced_option(key, value)`

Used to set any advanced option not present in this class, for instance set_advanced_option("use_spline",True), see https://polyfem.github.io/documentation/ for full list
Used to set any advanced option not present in this class, for instance set_advanced_option("use_spline",True), see https://polyfem.github.io/ for full list

### set_isolines_export_path
`set_isolines_export_path(path)`
Expand All @@ -97,7 +97,7 @@ Sets the path to export the isolines of the solution
### set_material_params
`set_material_params(name, value)`

set the material parameters, for instance set_material_params("E", 200) sets the Young's modulus E to 200. See https://polyfem.github.io/documentation/#formulations for full list
set the material parameters, for instance set_material_params("E", 200) sets the Young's modulus E to 200. See https://polyfem.github.io/details/formulations/ for full list

### set_pde
`set_pde(pde)`
Expand Down Expand Up @@ -144,7 +144,7 @@ Classical driven cavity problem in fluid simulation

## class Flow

Inflow/outflow problem for fluids. You can specify the sideset for the moving fluxes, the axial direction of the flow, and the list of obstacle sidesets. https://polyfem.github.io/documentation/#flow
Inflow/outflow problem for fluids. You can specify the sideset for the moving fluxes, the axial direction of the flow, and the list of obstacle sidesets. https://polyfem.github.io/details/problems/?h=flow#flow

### init
`__init__(inflow=1, outflow=3, inflow_amout=0.25, outflow_amout=0.25, direction=0, obstacle=[7])`
Expand All @@ -156,14 +156,14 @@ Initialize . See help(type()) for accurate signature.

## class Franke

Franke problem with exact solution https://polyfem.github.io/documentation/#franke
Franke problem with exact solution https://polyfem.github.io/details/problems/?h=franke#franke




## class GenericScalar

Generic scalar problem https://polyfem.github.io/documentation/#genericscalar
Generic scalar problem https://polyfem.github.io/details/problems/?h=genericscalar#genericscalar

### add_dirichlet_value
`add_dirichlet_value(id, value)`
Expand All @@ -180,7 +180,7 @@ add the Neumann value value for the sideset id

## class GenericTensor

Generic tensor problem https://polyfem.github.io/documentation/#generictensor
Generic tensor problem https://polyfem.github.io/details/problems/?h=gener#generictensor

### add_dirichlet_value
`add_dirichlet_value(id, value, is_dirichlet_dim=None)`
Expand Down Expand Up @@ -212,7 +212,7 @@ set the velocity value for the sideset id. Note the value must be a vector in 2D

## class Gravity

time dependent gravity problem https://polyfem.github.io/documentation/#gravity
time dependent gravity problem https://polyfem.github.io/details/problems/?h=gravity#gravity

### init
`__init__(force=0.1)`
Expand All @@ -224,7 +224,7 @@ Initialize . See help(type()) for accurate signature.

## class Torsion

3D torsion problem, specify which sideset to fix (fixed_boundary) and which one turns turning_boundary https://polyfem.github.io/documentation/#torsionelastic
3D torsion problem, specify which sideset to fix (fixed_boundary) and which one turns turning_boundary https://polyfem.github.io/details/problems/?h=torsionelastic#torsionelastic

### init
`__init__(axis_coordiante=2, n_turns=0.5, fixed_boundary=5, turning_boundary=6)`
Expand Down
6 changes: 4 additions & 2 deletions docs/python.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@ Python bindings
!!! warning
The python bindings are in beta. Expect API changes and possible bugs. Use at your own peril!

[![Last update](https://anaconda.org/conda-forge/polyfempy/badges/latest_release_date.svg)](https://anaconda.org/conda-forge/polyfempy)
[![Version](https://anaconda.org/conda-forge/polyfempy/badges/version.svg)](https://anaconda.org/conda-forge/polyfempy)
[![Latest Release Date](https://anaconda.org/conda-forge/polyfempy/badges/latest_release_date.svg)](https://anaconda.org/conda-forge/polyfempy)
[![Downloads](https://anaconda.org/conda-forge/polyfempy/badges/downloads.svg)](https://anaconda.org/conda-forge/polyfempy)
[![Install](https://anaconda.org/conda-forge/polyfempy/badges/installer/conda.svg)](https://anaconda.org/conda-forge/polyfempy)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/polyfem/polyfem.github.io.git/docs?filepath=docs%2Fpython_examples.ipynb)
[![Platforms](https://anaconda.org/conda-forge/polyfempy/badges/platforms.svg)](https://anaconda.org/conda-forge/polyfempy)
[![License](https://anaconda.org/conda-forge/polyfempy/badges/license.svg)](https://anaconda.org/conda-forge/polyfempy)


I am making efforts to provide a simple python interface to Polyfem.
Expand Down
4 changes: 2 additions & 2 deletions docs/tutorials/sling-shot/sling-shot.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ To build this project, there are some other dependencies we need. Note that `mes
The data needed in this tutorial can be found [here](https://github.com/KraftOreo/Slingshot_Polyfem_Tutorial/tree/main/slingshot/assets/data). For triangle meshes, they are in [surf_mesh folder](https://github.com/KraftOreo/Slingshot_Polyfem_Tutorial/tree/main/slingshot/assets/data/surf_mesh) and the volume meshes are in [vol_mesh folder](https://github.com/KraftOreo/Slingshot_Polyfem_Tutorial/tree/main/slingshot/assets/data/vol_mesh) The volume mesh files are all made by [fTetWild](https://github.com/wildmeshing/fTetWild). Feel free you make you own sphere, rubber band and fingers.

## Tutorial
All the code and JSONs can be found at [Github: Slingshot Tutorial](https://github.com/KraftOreo/PushBox_PolyFEM_Tutorial).
All the code and JSONs can be found at [Github: Slingshot Tutorial](https://github.com/KraftOreo/Slingshot_Polyfem_Tutorial)
The file tree of this project is:
```
project
Expand Down Expand Up @@ -377,4 +377,4 @@ You can create a test.py file for this, and run it in the project folder:
```shell=
python test.py
```
The result should be like the gifs at the beginning.
The result should be like the gifs at the beginning.
4 changes: 2 additions & 2 deletions docs/tutorials/sphere-pushing-box/sphere-pushing-box.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ To build this project, there are some other depencies we need. Note that meshio

## Data Preparation

The data needed in this tutorial can be found [here](https://github.com/KraftOreo/PushBox_PolyFEM_Tutorial/tree/main/assets/data). For triangle meshes, they are in [surf_mesh folder](https://github.com/KraftOreo/PushBox_PolyFEM_Tutorial/tree/main/assets/data/surf_mesh) and the volume meshes are in [vol_mesh folder](https://github.com/KraftOreo/PushBox_PolyFEM_Tutorial/tree/main/assets/data/vol_mesh). The volume mesh files are all made using [fTetWild](https://github.com/wildmeshing/fTetWild). Feel free you make your own spheres and boxes.
The data needed in this tutorial can be found [here](https://github.com/DuoZhangRobotics/PushBox_PolyFEM_Tutorial/tree/main/pushbox/assets/data). For triangle meshes, they are in [surf_mesh folder](https://github.com/DuoZhangRobotics/PushBox_PolyFEM_Tutorial/tree/main/pushbox/assets/data/surf_mesh) and the volume meshes are in [vol_mesh folder](https://github.com/DuoZhangRobotics/PushBox_PolyFEM_Tutorial/tree/main/pushbox/assets/data/vol_mesh). The volume mesh files are all made using [fTetWild](https://github.com/wildmeshing/fTetWild). Feel free you make your own spheres and boxes.

All the codes and JSON files can be found [here](https://github.com/KraftOreo/PushBox_PolyFEM_Tutorial).

Expand Down Expand Up @@ -359,4 +359,4 @@ from pushbox.src.pushbox_with_obstacles import PushBox

The entire script can be viewed in [test_with_obs.py](https://github.com/KraftOreo/PushBox_PolyFEM_Tutorial/blob/main/test_obs.py).

This is the end of the tutorial. Enjoy!
This is the end of the tutorial. Enjoy!
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ The following items are necessary to complete this tutorial. To reproduce the ex
- [ ] [Build PolyFEM](../../cxx_index.md)
- [ ] [Download File: square.obj](https://github.com/polyfem/polyfem-data/blob/main/contact/meshes/2D/simple/square.obj)
- [ ] [Download File: circle.msh](https://github.com/polyfem/polyfem-data/blob/main/differentiable/circle.msh)
- [ ] [Download File: barycenter-opt.json](https://github.com/polyfem/polyfem-data/blob/main/differentiable/optimizations/initial-condition-trajectory-opt/barycenter-opt.json)
- [ ] [Download File: run.json](https://github.com/polyfem/polyfem-data/blob/main/differentiable/optimizations/initial-condition-trajectory-opt/run.json)
- [ ] [Download File: barycenter.json](https://github.com/polyfem/polyfem-data/blob/main/differentiable/optimizations/initial-condition-trajectory-opt/barycenter.json)
- [ ] [Download File: barycenter-target.json](https://github.com/polyfem/polyfem-data/blob/main/differentiable/optimizations/initial-condition-trajectory-opt/barycenter-target.json)

Expand Down