MCPcopy Create free account
hub / github.com/OpenSees/OpenSees / determineFiberTemperature

Method determineFiberTemperature

SRC/material/section/FiberSection3dThermal.cpp:1573–1749  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1571
1572
1573double
1574FiberSection3dThermal::determineFiberTemperature(const Vector& DataMixed, double fiberLocy, double fiberLocz)
1575{
1576 double FiberTemperature = 0;
1577 if(DataMixed.Size()==18){
1578 //--------------if temperature Data has 18 elements--------------------
1579 if ( fabs(DataMixed(1)) <= 1e-10 && fabs(DataMixed(17)) <= 1e-10 ) //no tempe load
1580 {
1581 return 0 ;
1582 }
1583
1584 double dataTempe[18]; //PK changed 18 to 27 to pass max temps
1585 for (int i = 0; i < 18; i++) {
1586 dataTempe[i] = DataMixed(i);
1587 }
1588
1589 if ( fiberLocy <= dataTempe[1])
1590 {
1591 opserr <<"FiberSection2dThermal::setTrialSectionDeformationTemperature -- fiber loc is out of the section";
1592 }
1593 else if (fiberLocy <= dataTempe[3])
1594 {
1595 FiberTemperature = dataTempe[0] - (dataTempe[1] - fiberLocy) * (dataTempe[0] - dataTempe[2])/(dataTempe[1] - dataTempe[3]);
1596 }
1597 else if ( fiberLocy <= dataTempe[5] )
1598 {
1599 FiberTemperature = dataTempe[2] - (dataTempe[3] - fiberLocy) * (dataTempe[2] - dataTempe[4])/(dataTempe[3] - dataTempe[5]);
1600 }
1601 else if ( fiberLocy <= dataTempe[7] )
1602 {
1603 FiberTemperature = dataTempe[4] - (dataTempe[5] - fiberLocy) * (dataTempe[4] - dataTempe[6])/(dataTempe[5] - dataTempe[7]);
1604 }
1605 else if ( fiberLocy <= dataTempe[9] )
1606 {
1607 FiberTemperature = dataTempe[6] - (dataTempe[7] - fiberLocy) * (dataTempe[6] - dataTempe[8])/(dataTempe[7] - dataTempe[9]);
1608 }
1609 else if (fiberLocy <= dataTempe[11] )
1610 {
1611 FiberTemperature = dataTempe[8] - (dataTempe[9] - fiberLocy) * (dataTempe[8] - dataTempe[10])/(dataTempe[9] - dataTempe[11]);
1612 }
1613 else if (fiberLocy <= dataTempe[13] )
1614 {
1615 FiberTemperature = dataTempe[10] - (dataTempe[11] - fiberLocy) * (dataTempe[10] - dataTempe[12])/(dataTempe[11] - dataTempe[13]);
1616 }
1617 else if (fiberLocy <= dataTempe[15] )
1618 {
1619 FiberTemperature = dataTempe[12] - (dataTempe[13] - fiberLocy) * (dataTempe[12] - dataTempe[14])/(dataTempe[13] - dataTempe[15]);
1620 }
1621 else if ( fiberLocy <= dataTempe[17] )
1622 {
1623 FiberTemperature = dataTempe[14] - (dataTempe[15] - fiberLocy) * (dataTempe[14] - dataTempe[16])/(dataTempe[15] - dataTempe[17]);
1624 }
1625 else
1626 {
1627 opserr <<"FiberSection3dThermal::setTrialSectionDeformation -- fiber loc " <<fiberLocy<<" is out of the section"<<endln;
1628 }
1629 }
1630 else if(DataMixed.Size()==25){

Calls 1

SizeMethod · 0.45

Tested by

no test coverage detected