Closed piyueh closed 5 years ago
It kind of looks like the diff isn't working quite right as there appear to be some duplicate commits.
Hi @mandli, thank you for reviewing. I forced the PR to do a refreshing. I think now this PR shows correct diff.
Thank you @mandli !
Note: Docker image for this PR: use
docker pull barbagroup/landspill:PR16
This PR enables the evaporation in land-spill simulations. Currently, there are only two models:
Fingas' models treat the whole spill as a single continuous volume. This means, at an arbitrary time point, the evaporation happens at both on-field oil and remained oil in a pipeline. And the evaporation rate is the same regardless it's inside or outside the pipeline. Besides this assumption from Fingas' model, another assumption made by us is that the evaporation in a pipeline does not affect the spill rate at a rupture point. So the volume evaporated from inside the pipeline only shortens the period of the spilling from a rupture point.
The volume that has flown into water bodies, if there is any, also undergoes evaporation. However, the evaporation of this part won't affect the flow simulations on land. It only affects the output results of the removed volumes (the oil volumes in water bodies).
A result file,
evaporated.dat
, will be output at the end of a simulation. The file has a number indicating the total volume evaporated in the simulation. This provides a quick check to the conservation of volumes:total evaporated + total removed + volume remained on land = supposed spilled volume from the pipeline
.Settings of evaporation in
setrun.py
Evaporation data set is a member under
LandSpillData
object. For example, assume thatlandspill
is an instance ofLandSpillData
, then to access the evaporation data, uselandspill.evaporation
. There are two required setting in evaporation:1.
landspill.evaporation.type
0
: no evaporation1
: Fingas' natural log law2
: Fingas' square root law2.
landspill.evaporation.coefficients
Due to that we only have Fingas' model now, there should be two coefficients. So
landspill.evaporation.coefficients
should be a length-two list if thetype
is not0
.In Fingas' models, another variable is ambient temperature. This temperature will be obtained from
landspill.ambient_temperature
automatically in the solver so that the ambient temperature can be the same across several different modules.