-
Notifications
You must be signed in to change notification settings - Fork 33
Open
Description
Hi,
I'm trying to compute the gradient by defining a objective function like this:
function objective_function(model, state, Δt, step_i, forces)
dif1 = JutulDarcy.compute_well_qoi(model, state, forces, :Producer1, SurfaceLiquidRateTarget) - obs_pro1[step_i]
dif2 = JutulDarcy.compute_well_qoi(model, state, forces, :Producer2, SurfaceLiquidRateTarget) - obs_pro2[step_i]
loss = sum(dif1.^2 + dif2.^2)
return loss
end
my observation data is:
obs_pro1= ws[:Producer1, :lrat]
obs_pro2= ws[:Producer2, :lrat]
However, the gradient computed based on this objective function seems not working quite well.
Therefore:
Is the function JutulDarcy.compute_well_qoi specifically designed for coarse and fine scale reservoir history matching?
Is it possible for me to access ws[:Producer1, :lrat] and ws[:Producer2, :lrat] through state in the objective function? ( I think JutulDarcy.compute_well_qoi is trying to complete this task, but it isn't giving me the right answer until now)
Thanks for your assistance!
Best regards,
Zhen
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels