// Copyright 2025, ANSYS Inc. Unauthorized use, distribution or duplication is prohibited.
syntax = "proto3";
package ansys.api.discovery.v0.connections.fluidinterface;

import "ansys/api/dbu/v0/dbumodels.proto";
import "ansys/api/discovery/v0/discoverymodels.proto";

option csharp_namespace = "Ansys.Api.Discovery.V0.Connections";

service FluidInterface
{
  rpc ChangeFluidInterfaceType(ChangeFluidInterfaceTypeRequest) returns (ChangeResponse);
  rpc ChangeFluidInterfaceFaceGroupingMethod(ChangeFluidInterfaceFaceGroupingMethodRequest) returns (ChangeResponse);
  rpc ChangeFluidInterfaceConductanceMethod(ChangeSpecifyConductanceRequest) returns(ChangeResponse);

  rpc ChangeFluidInterfaceThermalMaterialAssignment(ChangeAssignmentRequest) returns (ChangeResponse);
  rpc ChangeFluidInterfaceThermalConductance(ChangeQuantityRequest) returns (ChangeResponse);
  rpc ChangeFluidInterfaceThermalConductivity(ChangeQuantityRequest) returns (ChangeResponse);
  rpc ChangeFluidInterfaceThermalThickness(ChangeQuantityRequest) returns (ChangeResponse);
            
  rpc ChangeFluidInterfaceDetectionDistanceHigh(ChangeQuantityRequest) returns (ChangeResponse);
  rpc ChangeFluidInterfaceFaceOverlapAllowance(ChangeQuantityRequest) returns (ChangeResponse);
            
  rpc ChangeFSInterfaceInternalRadiationInputEnabled(ChangeBooleanRequest) returns (ChangeResponse);
  rpc ChangeFSInterfaceInternalEmissivity(ChangeQuantityRequest) returns (ChangeResponse);
}

message ChangeFluidInterfaceTypeRequest{
  ansys.api.dbu.v0.PhysicsEntityIdentifier object_id = 1;
  FluidInterfaceType interface_type = 2;
}

// Contact group condition definitions
enum FluidInterfaceType {
  CONDUCTING = 0;
  EXCLUDE = 1;
}

message ChangeFluidInterfaceFaceGroupingMethodRequest{
  ansys.api.dbu.v0.PhysicsEntityIdentifier object_id = 1;
  FluidInterfaceFaceGroupingMethod face_grouping_method = 2;
}

enum FluidInterfaceFaceGroupingMethod {
  GROUPBYBODY = 0;
  GROUPTANGENTFACES = 1;
  NOGROUPING = 2;
}


