📄 load.cpp
字号:
while(!fin.eof())
{
fin>>str;
if(!strcmp(str,"LOAD_CASE_1_START"))
m_bGroup = 1;
//开始读数
while(m_bGroup)
{
fin>>str;
if(!strcmp(str,"LOAD_CASE_1_END"))
{
m_bGroup = 0;
m_bMemberLoad = 0;
break;
}
if(!strcmp(str,"LOAD_CASE_2_START"))
{
m_bGroup = 0;
m_bMemberLoad = 0;
break;
}
if(!strcmp(str,"MEMBER_LOAD_CEN"))
m_bMemberLoad = 1;
while(m_bMemberLoad)
{
fin>>str;
if(!strcmp(str,"NODE_LOAD"))
{
m_bMemberLoad = 0;
m_bGroup = 0;
break;
}
if(!strcmp(str,"MEMBER_LOAD_DIS"))
{
m_bMemberLoad = 0;
m_bGroup = 0;
break;
}
if(!strcmp(str,"LOAD_CASE_1_END"))
{
m_bGroup = 0;
m_bMemberLoad = 0;
break;
}
if(!strcmp(str,"MEMBER_LOAD_CEN"))
{
m_bGroup = 0;
m_bMemberLoad = 0;
break;
}
m_nTemp = atoi(str);
m_nElemLoadNum_Case1_Cen++;
m_adElemLoadValue_Case1_Cen.SetSize(m_nElemLoadNum_Case1_Cen);
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_nElementNO = m_nTemp;
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dDistance = 0;
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dElemForceX = 0;
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dElemForceY = 0;
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dElemForceZ = 0;
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dElemMX = 0;
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dElemMY = 0;
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dElemMZ = 0;
fin>>str;
if(!strcmp(str,"CX"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dDistance = m_dTemp;
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dElemForceX = m_dTemp;
}
if(!strcmp(str,"CY"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dDistance = m_dTemp;
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dElemForceY = m_dTemp;
}
if(!strcmp(str,"CZ"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dDistance = m_dTemp;
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dElemForceZ = m_dTemp;
}
if(!strcmp(str,"CMX"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dDistance = m_dTemp;
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dElemMX += m_dTemp;
}
if(!strcmp(str,"CMY"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dDistance = m_dTemp;
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dElemMY += m_dTemp;
}
if(!strcmp(str,"CMZ"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dDistance = m_dTemp;
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case1_Cen[m_nElemLoadNum_Case1_Cen - 1].m_dElemMZ += m_dTemp;
}
}
}
}
fin.close();
m_bGroup = 0;
m_bJointLoad = 0;
m_bMemberLoad = 0;
m_bRUN = 0;
//**********************************荷载组2---单元荷载1的读取********************************
fin.open(m_cFilepath,ios::in);
while(!fin.eof())
{
fin>>str;
if(!strcmp(str,"LOAD_CASE_2_START"))
m_bGroup = 1;
//开始读数
while(m_bGroup)
{
fin>>str;
if(!strcmp(str,"LOAD_CASE_2_END"))
{
m_bGroup = 0;
m_bMemberLoad = 0;
break;
}
if(!strcmp(str,""))
{
m_bGroup = 0;
m_bMemberLoad = 0;
break;
}
if(!strcmp(str,"MEMBER_LOAD_DIS"))
m_bMemberLoad = 1;
while(m_bMemberLoad)
{
fin>>str;
if(!strcmp(str,"NODE_LOAD"))
{
m_bMemberLoad = 0;
m_bGroup = 0;
break;
}
if(!strcmp(str,"MEMBER_LOAD_CEN"))
{
m_bMemberLoad = 0;
m_bGroup = 0;
break;
}
if(!strcmp(str,"LOAD_CASE_2_END"))
{
m_bGroup = 0;
m_bMemberLoad = 0;
break;
}
if(!strcmp(str,"MEMBER_LOAD_DIS"))
{
m_bGroup = 0;
m_bJointLoad = 0;
break;
}
m_nTemp = atoi(str);
//试探是否重复编号
for(int loop1=0;loop1<m_nElemLoadNum_Case2_Dis;loop1++)
{
//有同号
if(m_nTemp == m_adElemLoadValue_Case2_Dis[loop1].m_nElementNO)
{
m_nTemp = loop1;
m_bRUN = 1;
}
}
//是重复编号
if(m_bRUN)
{
fin>>str;
if(!strcmp(str,"DX"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Dis[m_nTemp].m_dElemForceX += m_dTemp;
}
if(!strcmp(str,"DY"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Dis[m_nTemp].m_dElemForceY += m_dTemp;
}
if(!strcmp(str,"DZ"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Dis[m_nTemp].m_dElemForceZ += m_dTemp;
}
m_bRUN = 0;
}
//不是重复编号
else
{
m_nElemLoadNum_Case2_Dis++;
m_adElemLoadValue_Case2_Dis.SetSize(m_nElemLoadNum_Case2_Dis);
m_adElemLoadValue_Case2_Dis[m_nElemLoadNum_Case2_Dis - 1].m_nElementNO = m_nTemp;
m_adElemLoadValue_Case2_Dis[m_nElemLoadNum_Case2_Dis - 1].m_dElemForceX = 0;
m_adElemLoadValue_Case2_Dis[m_nElemLoadNum_Case2_Dis - 1].m_dElemForceY = 0;
m_adElemLoadValue_Case2_Dis[m_nElemLoadNum_Case2_Dis - 1].m_dElemForceZ = 0;
fin>>str;
if(!strcmp(str,"DX"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Dis[m_nElemLoadNum_Case2_Dis - 1].m_dElemForceX = m_dTemp;
}
if(!strcmp(str,"DY"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Dis[m_nElemLoadNum_Case2_Dis - 1].m_dElemForceY = m_dTemp;
}
if(!strcmp(str,"DZ"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Dis[m_nElemLoadNum_Case2_Dis - 1].m_dElemForceZ = m_dTemp;
}
}
}
}
}
fin.close();
m_bGroup = 0;
m_bJointLoad = 0;
m_bMemberLoad = 0;
m_bRUN = 0;
//**********************************荷载组2---单元荷载2的读取********************************
fin.open(m_cFilepath,ios::in);
while(!fin.eof())
{
fin>>str;
if(!strcmp(str,"LOAD_CASE_2_START"))
m_bGroup = 1;
//开始读数
while(m_bGroup)
{
fin>>str;
if(!strcmp(str,"LOAD_CASE_2_END"))
{
m_bGroup = 0;
m_bMemberLoad = 0;
break;
}
if(!strcmp(str,"MEMBER_LOAD_CEN"))
m_bMemberLoad = 1;
while(m_bMemberLoad)
{
fin>>str;
if(!strcmp(str,"NODE_LOAD"))
{
m_bGroup = 0;
m_bMemberLoad = 0;
break;
}
if(!strcmp(str,"MEMBER_LOAD_DIS"))
{
m_bGroup = 0;
m_bMemberLoad = 0;
break;
}
if(!strcmp(str,"LOAD_CASE_2_END"))
{
m_bGroup = 0;
m_bMemberLoad = 0;
break;
}
if(!strcmp(str,"MEMBER_LOAD_CEN"))
{
m_bGroup = 0;
m_bMemberLoad = 0;
break;
}
m_nTemp = atoi(str);
m_nElemLoadNum_Case2_Cen++;
m_adElemLoadValue_Case2_Cen.SetSize(m_nElemLoadNum_Case2_Cen);
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_nElementNO = m_nTemp;
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dDistance = 0;
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dElemForceX = 0;
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dElemForceY = 0;
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dElemForceZ = 0;
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dElemMX = 0;
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dElemMY = 0;
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dElemMZ = 0;
fin>>str;
if(!strcmp(str,"CX"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dDistance = m_dTemp;
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dElemForceX = m_dTemp;
}
if(!strcmp(str,"CY"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dDistance = m_dTemp;
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dElemForceY = m_dTemp;
}
if(!strcmp(str,"CZ"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dDistance = m_dTemp;
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dElemForceZ = m_dTemp;
}
if(!strcmp(str,"CMX"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dDistance = m_dTemp;
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dElemMX += m_dTemp;
}
if(!strcmp(str,"CMY"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dDistance = m_dTemp;
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dElemMY += m_dTemp;
}
if(!strcmp(str,"CMZ"))
{
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dDistance = m_dTemp;
fin>>str;
m_dTemp = atof(str);
m_adElemLoadValue_Case2_Cen[m_nElemLoadNum_Case2_Cen - 1].m_dElemMZ += m_dTemp;
}
}
}
}
fin.close();
OutputParameter();
}
void CLoad::OutputParameter()
{
ofstream fout;
fout.open("Load Class.tst");
fout<<"Load Case 1 ---- Joint Load:"<<endl;
fout.width(17);fout<<"荷载数量:";fout.width(17);fout<<m_nNodeLoadNum_Case1<<endl;
fout.width(17);fout<<"作用节点号:";
fout.width(17);fout<<"FX"; fout.width(17);fout<<"FY"; fout.width(17);fout<<"FZ";
fout.width(17);fout<<"MX"; fout.width(17);fout<<"MY"; fout.width(17);fout<<"MZ"<<endl;
for(int loop=0;loop<m_nNodeLoadNum_Case1;loop++)
{
fout.width(17);fout<<m_adJointLoadValue_Case1[loop].m_nNodeNO;
fout.width(17);fout<<m_adJointLoadValue_Case1[loop].m_dFX;
fout.width(17);fout<<m_adJointLoadValue_Case1[loop].m_dFY;
fout.width(17);fout<<m_adJointLoadValue_Case1[loop].m_dFZ;
fout.width(17);fout<<m_adJointLoadValue_Case1[loop].m_dMX;
fout.width(17);fout<<m_adJointLoadValue_Case1[loop].m_dMX;
fout.width(17);fout<<m_adJointLoadValue_Case1[loop].m_dMZ<<endl;
}
fout<<endl;
fout<<"Load Case 1 ---- Member Load Dis:"<<endl;
fout.width(17);fout<<"荷载数量:";fout.width(17);fout<<m_nElemLoadNum_Case1_Dis<<endl;
fout.width(17);fout<<"作用单元号:";
fout.width(17);fout<<"m_dElemForceX";
fout.width(17);fout<<"m_dElemForceY";
fout.width(17);fout<<"m_dElemForceZ"<<endl;
for(loop=0;loop<m_nElemLoadNum_Case1_Dis;loop++)
{
fout.width(17);fout<<m_adElemLoadValue_Case1_Dis[loop].m_nElementNO;
fout.width(17);fout<<m_adElemLoadValue_Case1_Dis[loop].m_dElemForceX;
fout.width(17);fout<<m_adElemLoadValue_Case1_Dis[loop].m_dElemForceY;
fout.width(17);fout<<m_adElemLoadValue_Case1_Dis[loop].m_dElemForceZ<<endl;
}
fout<<endl;
fout<<"Load Case 1 ---- Member Load Cen:"<<endl;
fout.width(17);fout<<"荷载数量:";fout.width(17);fout<<m_nElemLoadNum_Case1_Cen<<endl;
fout.width(17);fout<<"作用单元号:";
fout.width(17);fout<<"m_dDistance";
fout.width(17);fout<<"m_dElemForceX";
fout.width(17);fout<<"m_dElemForceY";
fout.width(17);fout<<"m_dElemForceZ";
fout.width(17);fout<<"m_dElemMX";
fout.width(17);fout<<"m_dElemMY";
fout.width(17);fout<<"m_dElemMZ"<<endl;
for(loop=0;loop<m_nElemLoadNum_Case1_Cen;loop++)
{
fout.width(17);fout<<m_adElemLoadValue_Case1_Cen[loop].m_nElementNO;
fout.width(17);fout<<m_adElemLoadValue_Case1_Cen[loop].m_dDistance;
fout.width(17);fout<<m_adElemLoadValue_Case1_Cen[loop].m_dElemForceX;
fout.width(17);fout<<m_adElemLoadValue_Case1_Cen[loop].m_dElemForceY;
fout.width(17);fout<<m_adElemLoadValue_Case1_Cen[loop].m_dElemForceZ;
fout.width(17);fout<<m_adElemLoadValue_Case1_Cen[loop].m_dElemMX;
fout.width(17);fout<<m_adElemLoadValue_Case1_Cen[loop].m_dElemMY;
fout.width(17);fout<<m_adElemLoadValue_Case1_Cen[loop].m_dElemMZ<<endl;
}
fout<<endl;
fout<<endl;
fout<<"Load Case 2 ---- Joint Load:"<<endl;
fout.width(17);fout<<"荷载数量:";fout.width(17);fout<<m_nNodeLoadNum_Case2<<endl;
fout.width(17);fout<<"作用节点号:";
fout.width(17);fout<<"FX"; fout.width(17);fout<<"FY"; fout.width(17);fout<<"FZ";
fout.width(17);fout<<"MX"; fout.width(17);fout<<"MY"; fout.width(17);fout<<"MZ"<<endl;
for(loop=0;loop<m_nNodeLoadNum_Case2;loop++)
{
fout.width(17);fout<<m_adJointLoadValue_Case2[loop].m_nNodeNO;
fout.width(17);fout<<m_adJointLoadValue_Case2[loop].m_dFX;
fout.width(17);fout<<m_adJointLoadValue_Case2[loop].m_dFY;
fout.width(17);fout<<m_adJointLoadValue_Case2[loop].m_dFZ;
fout.width(17);fout<<m_adJointLoadValue_Case2[loop].m_dMX;
fout.width(17);fout<<m_adJointLoadValue_Case2[loop].m_dMX;
fout.width(17);fout<<m_adJointLoadValue_Case2[loop].m_dMZ<<endl;
}
fout<<endl;
fout<<"Load Case 2 ---- Member Load Dis:"<<endl;
fout.width(17);fout<<"荷载数量:";fout.width(17);fout<<m_nElemLoadNum_Case2_Dis<<endl;
fout.width(17);fout<<"作用单元号:";
fout.width(17);fout<<"m_dElemForceX";
fout.width(17);fout<<"m_dElemForceY";
fout.width(17);fout<<"m_dElemForceZ"<<endl;
for(loop=0;loop<m_nElemLoadNum_Case2_Dis;loop++)
{
fout.width(17);fout<<m_adElemLoadValue_Case2_Dis[loop].m_nElementNO;
fout.width(17);fout<<m_adElemLoadValue_Case2_Dis[loop].m_dElemForceX;
fout.width(17);fout<<m_adElemLoadValue_Case2_Dis[loop].m_dElemForceY;
fout.width(17);fout<<m_adElemLoadValue_Case2_Dis[loop].m_dElemForceZ<<endl;
}
fout<<endl;
fout<<"Load Case 2 ---- Member Load Cen:"<<endl;
fout.width(17);fout<<"荷载数量:";fout.width(17);fout<<m_nElemLoadNum_Case2_Cen<<endl;
fout.width(17);fout<<"作用单元号:";
fout.width(17);fout<<"m_dDistance";
fout.width(17);fout<<"m_dElemForceX";
fout.width(17);fout<<"m_dElemForceY";
fout.width(17);fout<<"m_dElemForceZ";
fout.width(17);fout<<"m_dElemMX";
fout.width(17);fout<<"m_dElemMY";
fout.width(17);fout<<"m_dElemMZ"<<endl;
for(loop=0;loop<m_nElemLoadNum_Case2_Cen;loop++)
{
fout.width(17);fout<<m_adElemLoadValue_Case2_Cen[loop].m_nElementNO;
fout.width(17);fout<<m_adElemLoadValue_Case2_Cen[loop].m_dDistance;
fout.width(17);fout<<m_adElemLoadValue_Case2_Cen[loop].m_dElemForceX;
fout.width(17);fout<<m_adElemLoadValue_Case2_Cen[loop].m_dElemForceY;
fout.width(17);fout<<m_adElemLoadValue_Case2_Cen[loop].m_dElemForceZ;
fout.width(17);fout<<m_adElemLoadValue_Case2_Cen[loop].m_dElemMX;
fout.width(17);fout<<m_adElemLoadValue_Case2_Cen[loop].m_dElemMY;
fout.width(17);fout<<m_adElemLoadValue_Case2_Cen[loop].m_dElemMZ<<endl;
}
fout<<endl;
fout.close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -