31 #include "TCondicionContorno.h"
40 TCondicionContorno::TCondicionContorno(nmTypeBC TipoCC,
int numCC, nmTipoCalculoEspecies SpeciesModel,
41 int numeroespecies, nmCalculoGamma GammaCalculation,
bool ThereIsEGR) {
43 FCalculoEspecies = SpeciesModel;
44 FNumeroEspecies = numeroespecies;
45 FCalculoGamma = GammaCalculation;
46 FFraccionMasicaEspecie = NULL;
51 FNumeroCC = numCC + 1;
67 TCondicionContorno::~TCondicionContorno() {
69 if(FFraccionMasicaEspecie != NULL)
70 delete[] FFraccionMasicaEspecie;
78 return FTuboExtremo[i];
84 void TCondicionContorno::PutBeta(
int i,
double valor) {
86 FTuboExtremo[i].Beta = valor;
93 void TCondicionContorno::PutLanda(
int i,
double valor) {
95 FTuboExtremo[i].Landa = valor;
102 void TCondicionContorno::PutEntropia(
int i,
double valor) {
104 FTuboExtremo[i].Entropia = valor;
119 double TCondicionContorno::GetFraccionMasicaEspecie(
int i) {
121 return FFraccionMasicaEspecie[i];
122 }
catch(exception &N) {
123 std::cout <<
"ERROR: TCondicionContorno::GetConcentracionEspecie en la condicion de contorno: " << FNumeroCC <<
125 std::cout <<
"Tipo de error: " << N.what() << std::endl;
132 double TCondicionContorno::GetEntropia(
int i) {
134 return FTuboExtremo[i].Entropia;
141 double TCondicionContorno::GetBeta(
int i) {
143 return FTuboExtremo[i].Beta;
150 double TCondicionContorno::GetLanda(
int i) {
152 return FTuboExtremo[i].Landa;
159 void TCondicionContorno::CalculaCaracteristicas(
double Time) {
161 for(
int i = 0; i < FNumeroTubosCC; i++) {
162 double dt = Time - FTuboExtremo[i].Pipe->
getTime0();
163 if(FTuboExtremo[i].TipoExtremo == nmRight) {
164 int nin = FTuboExtremo[i].Pipe->getNin() - 1;
165 if(FTuboExtremo[i].Pipe->GetVelocidad(nin) > 0) {
166 FTuboExtremo[i].Entropia = FTuboExtremo[i].Pipe->
Interpola_Entropia(FTuboExtremo[i].TipoExtremo, dt);
170 if(FTuboExtremo[i].Pipe->GetVelocidad(0) < 0) {
171 FTuboExtremo[i].Entropia = FTuboExtremo[i].Pipe->
Interpola_Entropia(FTuboExtremo[i].TipoExtremo, dt);
181 #pragma package(smart_init)