# Initial condition

*Specifies the initial state for the solid heat equation solver.*

---

## Available Options

| *Option*      | *Description*                                              |
|---------------|-----------------------------------------------------------|
| **Constants** | Key-value pairs for reusable expressions/constants. |
| **Temperature** | Initial temperature value or expression.  |

---

## Detailed Descriptions

### Constants

*Optional dictionary of key-value pairs to define constants or reusable expressions for the initial condition.*

- **Default:** None  
> **Notes:**
> - Keys are used as variables in expressions (e.g., `T0`).
> - Values are string expressions or numbers.
> - Useful for parameterizing initial conditions.

### Temperature

*Specifies the initial temperature throughout the solid domain. Can be a constant or an expression.*

- **Required**
- **Example:** `300` or `T0`  
> **Notes:**
> - If an expression is used, it may reference constants defined above.
> - The value is treated as non-dimensional unless otherwise specified in the solver setup.

---

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

- Use constants to simplify complex or repeated expressions.
- For uniform initial temperature, enter a single value (e.g., `300`).

</details>

---

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

- **What happens if I leave Temperature blank?**  
  > The form will not submit and will prompt you to provide a value.

- **Can I use variables in the Temperature field?**  
  > Yes, if you define them in the Constants section.

</details>

---

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

Below is a Python code example showing how to define an initial condition for the solid heat equation:

```python
# Example (for reference only, not included in GUI documentation)
initial_condition = fl.HeatEquationInitialCondition(
    temperature="300"
)
# With constants:
initial_condition = fl.HeatEquationInitialCondition(
    constants={"T0": "300"},
    temperature="T0"
)
```

</details>
