SAR: calculate dissipated power directly and independent of material density
parent
d2f78e78cf
commit
4250c6f888
|
@ -157,6 +157,7 @@ void ProcessFieldsSAR::DumpFDData()
|
||||||
CSPropMaterial* matProp = NULL;
|
CSPropMaterial* matProp = NULL;
|
||||||
|
|
||||||
double power;
|
double power;
|
||||||
|
double l_pow;
|
||||||
|
|
||||||
for (size_t n = 0; n<m_FD_Samples.size(); ++n)
|
for (size_t n = 0; n<m_FD_Samples.size(); ++n)
|
||||||
{
|
{
|
||||||
|
@ -175,6 +176,12 @@ void ProcessFieldsSAR::DumpFDData()
|
||||||
{
|
{
|
||||||
orig_pos[2] = posLines[2][pos[2]];
|
orig_pos[2] = posLines[2][pos[2]];
|
||||||
coord[2] = Op->GetDiscLine(2,orig_pos[2],true);
|
coord[2] = Op->GetDiscLine(2,orig_pos[2],true);
|
||||||
|
l_pow = abs(E_field_fd[0][pos[0]][pos[1]][pos[2]]) * abs(J_field_fd[0][pos[0]][pos[1]][pos[2]]);
|
||||||
|
l_pow += abs(E_field_fd[1][pos[0]][pos[1]][pos[2]]) * abs(J_field_fd[1][pos[0]][pos[1]][pos[2]]);
|
||||||
|
l_pow += abs(E_field_fd[2][pos[0]][pos[1]][pos[2]]) * abs(J_field_fd[2][pos[0]][pos[1]][pos[2]]);
|
||||||
|
|
||||||
|
power += 0.5*l_pow*Op->GetCellVolume(orig_pos);
|
||||||
|
|
||||||
prop = CSX->GetPropertyByCoordPriority(coord,CSProperties::MATERIAL);
|
prop = CSX->GetPropertyByCoordPriority(coord,CSProperties::MATERIAL);
|
||||||
SAR[pos[0]][pos[1]][pos[2]] = 0.0;
|
SAR[pos[0]][pos[1]][pos[2]] = 0.0;
|
||||||
density=0.0;
|
density=0.0;
|
||||||
|
@ -184,15 +191,9 @@ void ProcessFieldsSAR::DumpFDData()
|
||||||
density = matProp->GetDensityWeighted(coord);
|
density = matProp->GetDensityWeighted(coord);
|
||||||
if (density>0)
|
if (density>0)
|
||||||
{
|
{
|
||||||
SAR[pos[0]][pos[1]][pos[2]] = abs(E_field_fd[0][pos[0]][pos[1]][pos[2]]) * abs(J_field_fd[0][pos[0]][pos[1]][pos[2]]);
|
SAR[pos[0]][pos[1]][pos[2]] = l_pow*0.5/density;
|
||||||
SAR[pos[0]][pos[1]][pos[2]] += abs(E_field_fd[1][pos[0]][pos[1]][pos[2]]) * abs(J_field_fd[1][pos[0]][pos[1]][pos[2]]);
|
|
||||||
SAR[pos[0]][pos[1]][pos[2]] += abs(E_field_fd[2][pos[0]][pos[1]][pos[2]]) * abs(J_field_fd[2][pos[0]][pos[1]][pos[2]]);
|
|
||||||
SAR[pos[0]][pos[1]][pos[2]] *= 0.5/density;
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
density=0.0;
|
|
||||||
}
|
}
|
||||||
power+=SAR[pos[0]][pos[1]][pos[2]]*Op->GetCellVolume(orig_pos)*density;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue