Files

157 lines
3.9 KiB
Protocol Buffer

syntax = "proto3";
// clang-format off
package rips;
service WellPath {
rpc GetCompletionData(SimulatorTableRequest)
returns (SimulatorTableData) {}
rpc GetCompletionDataUnified(SimulatorTableUnifiedRequest)
returns (SimulatorTableData) {}
}
message SimulatorTableRequest {
string wellpath_name = 1;
int32 case_id = 2;
}
message SimulatorTableUnifiedRequest {
repeated string wellpath_names = 1;
int32 case_id = 2;
}
message SimulatorCompdatEntry {
string well_name = 1;
int32 grid_i = 2;
int32 grid_j = 3;
int32 upper_k = 4;
int32 lower_k = 5;
string open_shut_flag = 6;
optional double saturation = 7;
optional double transmissibility = 8;
optional double diameter = 9;
optional double kh = 10;
optional double skin_factor = 11;
optional double d_factor = 12;
optional string direction = 13;
optional double start_md = 14;
optional double end_md = 15;
optional string comment = 16;
optional string grid_name = 17;
optional int32 completion_number = 18;
}
message SimulatorWelspecsEntry {
string well_name = 1;
string group_name = 2;
int32 grid_i = 3;
int32 grid_j = 4;
optional double bhp_depth = 5;
string phase = 6;
optional double drainage_radius = 7;
optional string inflow_equation = 8;
optional string auto_shut_in = 9;
optional string cross_flow = 10;
optional int32 pvt_num = 11;
optional string hydrostatic_density_calc = 12;
optional int32 fip_region = 13;
optional string grid_name = 14;
}
message SimulatorWelsegsHeaderEntry {
string well_name = 1;
double top_depth = 2;
double top_length = 3;
optional double wellbore_volume = 4;
string info_type = 5;
optional string pressure_components = 6;
optional string flow_model = 7;
}
message SimulatorWelsegsRowEntry {
int32 segment_1 = 1;
int32 segment_2 = 2;
int32 branch = 3;
int32 join_segment = 4;
double length = 5;
double depth = 6;
optional double diameter = 7;
optional double roughness = 8;
optional string description = 9;
}
message SimulatorWelsegsEntry {
SimulatorWelsegsHeaderEntry header = 1;
repeated SimulatorWelsegsRowEntry row = 2;
}
message SimulatorCompsegsEntry {
int32 i = 1;
int32 j = 2;
int32 k = 3;
int32 branch = 4;
double distance_start = 5;
double distance_end = 6;
optional string grid_name = 7;
optional int32 segment_number = 8;
}
message SimulatorWsegvalvEntry {
string well_name = 1;
int32 segment_number = 2;
double cv = 3;
double area = 4;
optional double extra_length = 5;
optional double pipe_d = 6;
optional double roughness = 7;
optional double pipe_a = 8;
optional string status = 9;
optional double max_a = 10;
}
message SimulatorWsegaicdEntry {
string well_name = 1;
int32 segment_1 = 2;
int32 segment_2 = 3;
double strength = 4;
optional double length = 5;
optional double density_cali = 6;
optional double viscosity_cali = 7;
optional double critical_value = 8;
optional double width_trans = 9;
optional double max_visc_ratio = 10;
optional int32 method_scaling_factor = 11;
double max_abs_rate = 12;
double flow_rate_exponent = 13;
double visc_exponent = 14;
optional string status = 15;
optional double oil_flow_fraction = 16;
optional double water_flow_fraction = 17;
optional double gas_flow_fraction = 18;
optional double oil_visc_fraction = 19;
optional double water_visc_fraction = 20;
optional double gas_visc_fraction = 21;
optional string description = 22;
}
message SimulatorWpimultEntry {
string well_name = 1;
double pimult = 2;
int32 i = 3;
int32 j = 4;
int32 k = 5;
optional string grid_name = 6;
}
message SimulatorTableData {
repeated SimulatorCompdatEntry compdat = 1;
repeated SimulatorWelspecsEntry welspecs = 2;
repeated SimulatorWelsegsEntry welsegs = 3;
repeated SimulatorCompsegsEntry compsegs = 4;
repeated SimulatorWsegvalvEntry wsegvalv = 5;
repeated SimulatorWsegaicdEntry wsegaicd = 6;
repeated SimulatorWpimultEntry wpimult = 7;
}