Ejemplo n.º 1
0
// AddingSensitivity:BEGIN ////////////////////////////////////
void
LoadPattern::applyLoadSensitivity(double pseudoTime)
{
    // P*dfactor/dh
    if (theSeries != 0 && isConstant != 0) {
	loadFactor = theSeries->getFactorSensitivity(pseudoTime);
	loadFactor *= scaleFactor;
    }
  
    NodalLoad *nodLoad;
    NodalLoadIter &theNodalIter = this->getNodalLoads();
    while ((nodLoad = theNodalIter()) != 0)
	nodLoad->applyLoad(loadFactor);

    // factor*dP/dh
    if (theSeries != 0 && isConstant != 0) {
	loadFactor = theSeries->getFactor(pseudoTime);
	loadFactor *= scaleFactor;
    }

    NodalLoadIter &theNodalIter2 = this->getNodalLoads();
    while ((nodLoad = theNodalIter2()) != 0)
	nodLoad->applyLoadSensitivity(loadFactor);
  
  // Don't inlude element loads and sp constraints for now
  /*
    ElementalLoad *eleLoad;
    ElementalLoadIter &theElementalIter = this->getElementalLoads();
    while ((eleLoad = theElementalIter()) != 0)
    eleLoad->applyLoad(loadFactor);
    
    SP_Constraint *sp;
    SP_ConstraintIter &theIter = this->getSPs();
    while ((sp = theIter()) != 0)
    sp->applyConstraint(loadFactor);
  */
}