# Points

*A comprehensive guide to monitoring and analyzing flow properties at specific locations in the simulation domain using Points and Point Arrays.*

---

## Available Creation Methods

| *Type* | *Description* |
|--------|---------------|
| **Point** | Single monitoring location in 3D space |
| **Point array** | Multiple monitoring points along a straight line defined by its start and end points |

---

## Detailed Descriptions

### Point

*Defines a single monitoring location in three-dimensional space for tracking flow properties.*

Point Parameters:
- **Position:** Three-dimensional coordinates (x, y, z)

### Point array

*Creates an array of equally spaced points between start and end locations.*

Point array Parameters:

- **Start Position:** Three-dimensional coordinates (x, y, z)
- **End Position:** Three-dimensional coordinates (x, y, z) 
- **Number of Points:**  Integer > 2 

## Output Data

*Points and Point arrays provide access to flow field variables at their specified locations, allowing for detailed monitoring and analysis of local flow properties throughout the simulation.*

- Pressure
- Temperature
- Velocity components
- Density
- Turbulence quantities
- Vorticity
- Other solver-specific variables

---

<details>
<summary><h3 style="display:inline-block"> 💡 Tips</h3></summary>

- Position points in regions where significant flow phenomena are expected
- Use Point arrays to capture gradients or transitions in the flow field
- Ensure points are positioned within the computational domain
- For boundary layer analysis, create points or arrays perpendicular to surfaces
- Use meaningful naming conventions to easily identify point locations

<details style="padding-left:20px">
<summary><h4 style="display:inline-block"> Best Practices for Point Placement</h4></summary>

- Place points upstream of regions of interest to capture incoming flow conditions
- Use multiple points around complex geometries to understand flow patterns
- Consider placing points at locations where experimental data is available for validation
- For unsteady simulations, ensure points are placed where significant temporal variations are expected

</details>
</details>

---

<details>
<summary><h3 style="display:inline-block"> ❓ Frequently Asked Questions</h3></summary>

- **What flow variables can be monitored at points?**  
  > Points can output pressure, temperature, velocity components, density, turbulence quantities, vorticity, and other solver-specific variables.

- **How do I choose the number of points for a PointArray?**  
  > Consider the expected spatial resolution needed for your analysis. More points provide better resolution but increase computational overhead.

- **Can points be placed outside the computational domain?**  
  > No, points must be positioned within the computational domain to provide valid results.

</details>

---

<details>
<summary><h3 style="display:inline-block"> 🐍 Python Example Usage</h3></summary>

```python
import flow360 as fl

# Create a single point at the leading edge
leading_edge_point = fl.Point(
    name="leading_edge",
    location=(1.0, 0.5, 0.0) * fl.u.m
)

# Create a point array for wake analysis
wake_profile = fl.PointArray(
    name="wake_profile",
    start=(0, 0, 0) * fl.u.m,
    end=(5, 0, 0) * fl.u.m,
    number_of_points=10
)
```
</details>
