fixed priority system for dispersive media
parent
3dc6cbebbd
commit
3dd48d8cf9
|
@ -84,12 +84,10 @@ bool Operator_Ext_ConductingSheet::BuildExtension()
|
||||||
if (m_CC_R0_included && (n==2) && (pos[0]==0))
|
if (m_CC_R0_included && (n==2) && (pos[0]==0))
|
||||||
disable_pos = true;
|
disable_pos = true;
|
||||||
|
|
||||||
CSProperties* prop = m_Op->GetGeometryCSX()->GetPropertyByCoordPriority(coord,CSProperties::CONDUCTINGSHEET, false, &cs_sheet);
|
CSProperties* prop = m_Op->GetGeometryCSX()->GetPropertyByCoordPriority(coord,(CSProperties::PropertyType)(CSProperties::METAL | CSProperties::MATERIAL), false, &cs_sheet);
|
||||||
if (prop)
|
CSPropConductingSheet* cs_prop = dynamic_cast<CSPropConductingSheet*>(prop);
|
||||||
|
if (cs_prop)
|
||||||
{
|
{
|
||||||
CSPropConductingSheet* cs_prop = dynamic_cast<CSPropConductingSheet*>(prop);
|
|
||||||
if (cs_prop==NULL)
|
|
||||||
return false; //sanity check, this should never happen
|
|
||||||
if (cs_sheet==NULL)
|
if (cs_sheet==NULL)
|
||||||
return false; //sanity check, this should never happen
|
return false; //sanity check, this should never happen
|
||||||
if (cs_sheet->GetDimension()!=2)
|
if (cs_sheet->GetDimension()!=2)
|
||||||
|
|
|
@ -151,7 +151,7 @@ bool Operator_Ext_LorentzMaterial::BuildExtension()
|
||||||
if (m_CC_R0_included && (n==2) && (pos[0]==0))
|
if (m_CC_R0_included && (n==2) && (pos[0]==0))
|
||||||
coord[1] = m_Op->GetDiscLine(1,0);
|
coord[1] = m_Op->GetDiscLine(1,0);
|
||||||
|
|
||||||
CSProperties* prop = m_Op->GetGeometryCSX()->GetPropertyByCoordPriority(coord,CSProperties::LORENTZMATERIAL, true);
|
CSProperties* prop = m_Op->GetGeometryCSX()->GetPropertyByCoordPriority(coord,(CSProperties::PropertyType)(CSProperties::METAL | CSProperties::MATERIAL), true);
|
||||||
if ((mat = prop->ToLorentzMaterial()))
|
if ((mat = prop->ToLorentzMaterial()))
|
||||||
{
|
{
|
||||||
w_plasma = mat->GetEpsPlasmaFreqWeighted(order,n,coord) * 2 * PI;
|
w_plasma = mat->GetEpsPlasmaFreqWeighted(order,n,coord) * 2 * PI;
|
||||||
|
@ -176,7 +176,7 @@ bool Operator_Ext_LorentzMaterial::BuildExtension()
|
||||||
if (m_Op->GetYeeCoords(n,pos,coord,true)==false)
|
if (m_Op->GetYeeCoords(n,pos,coord,true)==false)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
CSProperties* prop = m_Op->GetGeometryCSX()->GetPropertyByCoordPriority(coord,CSProperties::LORENTZMATERIAL, true);
|
CSProperties* prop = m_Op->GetGeometryCSX()->GetPropertyByCoordPriority(coord,(CSProperties::PropertyType)(CSProperties::METAL | CSProperties::MATERIAL), true);
|
||||||
if ((mat = prop->ToLorentzMaterial()))
|
if ((mat = prop->ToLorentzMaterial()))
|
||||||
{
|
{
|
||||||
w_plasma = mat->GetMuePlasmaFreqWeighted(order,n,coord) * 2 * PI;
|
w_plasma = mat->GetMuePlasmaFreqWeighted(order,n,coord) * 2 * PI;
|
||||||
|
|
Loading…
Reference in New Issue