Why is simr constantly giving me erroneous power results in R? No matter what model I fit in lmer, it seems like simr never gives an accurate read of what the data is doing. For example, the effect sizes in the iris dataset are quite strong, so you would expect it to have higher power even with only 150 observations. However, when I run this model:
iris.lmer <- lmer(Petal.Length ~ Petal.Width + (1+Petal.Width|Species),
                  data = iris)

And then throw it into simr with 100 simulations:
power.iris <- powerSim(iris.lmer,
                       nsim=100)
power.iris

I get a power of 3.00, which can't be possible...
Power for predictor 'Petal.Width', (95% confidence interval):
       3.00% ( 0.62,  8.52)

Test: unknown test
      Effect size for Petal.Width is 1.1

Based on 100 simulations, (3 warnings, 0 errors)
alpha = 0.05, nrow = 150

Time elapsed: 0 h 0 m 15 s

nb: result might be an observed power calculation

The warnings for this run only say a few times that the model "didnt converge", but I'm not sure how that's possible when it has no problems in lmer and has pretty credible random/fixed effects. If I set the simulations to only 10:
power.iris <- powerSim(iris.lmer,
                       nsim=10)

I get the total opposite problem, no power at all despite an effect size of 1.1...
Power for predictor 'Petal.Width', (95% confidence interval):
       0.00% ( 0.00, 30.85)

Test: unknown test
      Effect size for Petal.Width is 1.1

Based on 10 simulations, (0 warnings, 0 errors)
alpha = 0.05, nrow = 150

Time elapsed: 0 h 0 m 1 s

nb: result might be an observed power calculation

Unlike the other times I did this with other data, this doesn't even have any warnings or errors pop up, so on the surface there is nothing wrong with my input. What is the issue here?
 A: Power is not determined by the data alone (eg. sample size, balanced or not, etc.); it is a function of both the data and the analysis (eg. we can choose a more or less powerful test for the same hypothesis). simr gives an accurate read of your analysis of the iris data. Note: In my answer I consider only the model you've shown as I cannot generalize to "no matter what model I fit in lmer".
The issue is that you fit a random-intercept, random-slope model to three groups in a hierarchical model (groups = species). Three groups are too few to justify representing Species as a random sample from a population of species. One rule of thumb is that a random-effect categorical variable has at least 5 categories: Should I treat factor xxx as fixed or random?
So simr appropriately advises you that there is low power to estimate the random Species effects.
To demonstrate I create a fake "subspecies" grouping by splitting each species into 5 subsets of equal size. The power increases as we would expect now that we have sampled 15 (instead of 3) random groups from the hypothetical population of groups.
library("simr")
library("lme4")
library("tidyverse")

set.seed(1234)

iris <- iris %>%
  mutate(
    Subspecies = paste0(Species, (row_number() - 1) %/% 10)
  )
iris %>%
  count(Subspecies)
#>     Subspecies  n
#> 1      setosa0 10
#> 2      setosa1 10
#> 3      setosa2 10
#> 4      setosa3 10
#> 5      setosa4 10
#> 6  versicolor5 10
#> 7  versicolor6 10
#> 8  versicolor7 10
#> 9  versicolor8 10
#> 10 versicolor9 10
#> 11 virginica10 10
#> 12 virginica11 10
#> 13 virginica12 10
#> 14 virginica13 10
#> 15 virginica14 10

lmer.species <- lmer(
  Petal.Length ~ Petal.Width + (Petal.Width | Species),
  data = iris
)
lmer.subspecies <- lmer(
  Petal.Length ~ Petal.Width + (Petal.Width | Subspecies),
  data = iris
)

nsim <- 10

powerSim(lmer.species, nsim = nsim)
#> Warning in observedPowerWarning(sim): This appears to be an "observed power"
#> calculation
#> Power for predictor 'Petal.Width', (95% confidence interval):
#>        0.00% ( 0.00, 30.85)

powerSim(lmer.subspecies, nsim = nsim)
#> Warning in observedPowerWarning(sim): This appears to be an "observed power"
#> calculation
#> Power for predictor 'Petal.Width', (95% confidence interval):
#>       100.0% (69.15, 100.0)

