The `@constraint`

call should not throw the error you originally specified; the division by the `a`

variable should fail.

```
using JuMP, Gurobi
m = Model(solver = GurobiSolver())
@variables m begin
fp
fq
a
v
end
@constraint(m, (fp^2 + fq^2) / a^2 <= v)
```

results in

```
/(::Int64,::JuMP.GenericQuadExpr{Float64,JuMP.Variable}) is not defined. Are you trying to build a nonlinear problem? Make sure you use @NLconstraint/@NLobjective.
in /(::Int64, ::JuMP.GenericQuadExpr{Float64,JuMP.Variable}) at /Users/twan/code/julia/RigidBodyDynamics/v0.5/JuMP/src/operators.jl:639
```

while

```
using JuMP, Gurobi
m = Model(solver = GurobiSolver())
@variables m begin
fp
fq
a
v
end
@NLconstraint(m, (fp^2 + fq^2) / a^2 <= v)
solve(m)
```

does result in the error you reported originally. Please do provide a minimal example right off the bat in the future; all of the back and forth above would have been unnecessary.

The constraint is indeed convex since `a`

and `v`

are also constrained to be positive; this is a rotated Lorentz cone constraint, as @Stephen_Vavasis mentioned.