docs: public void EBEsReactions3D(int hi){
  
      for(int i = 0; i<numberOfNodesRestricts_; i++){
  
        int no=(int)NodeRestrict_[i][0];
  
        //trasforma el nÃƒÂºmero en cÃƒÂ³digo texto caracterizando las coacciones;
        String strCxyz=String.valueOf((int)NodeRestrict_[i][1]);
        //if(strCxyz != "000000"){
        String str="";
        for(int j=numberOfLibertyDegree_;j>strCxyz.length();j--){
          str+="0";
        }
        strCxyz=str+strCxyz;
        // penalizaciÃƒÂ³n de la matriz de rigidez
  
        char w0 = strCxyz.charAt(aX_); //sentido en X
        if(w0 == '1'){
          //fuerza aplicada en nudo en X
          Reaction_[numberOfLibertyDegree_ * no + aX_][hi] += -PQ[numberOfLibertyDegree_ * no + aX_][hi];
        }
  
        w0 = strCxyz.charAt(aY_); //sentido en Y
        if(w0 == '1'){
          //fuerza aplicada en nudo en Y
          Reaction_[numberOfLibertyDegree_ * no + aY_][hi] += -PQ[numberOfLibertyDegree_ * no + aY_][hi];
        }
  
        w0 = strCxyz.charAt(aZ_); //sentido en Z
        if(w0 == '1'){
          //fuerza aplicada en nudo en Z
          Reaction_[numberOfLibertyDegree_ * no + aZ_][hi] += -PQ[numberOfLibertyDegree_ * no + aZ_][hi];
        }
  
        w0 = strCxyz.charAt(gX_);
        if(w0 == '1'){
          //flexor moment en nudo en X
          Reaction_[numberOfLibertyDegree_ * no + gX_][hi] += -PQ[numberOfLibertyDegree_ * no + gX_][hi];
        }
  
        w0 = strCxyz.charAt(gY_); //rotaciÃƒÂ³n alrededor del eje Y
        if(w0 == '1'){
          //flexor moment en nudo en Y
          Reaction_[numberOfLibertyDegree_ * no + gY_][hi] += -PQ[numberOfLibertyDegree_ * no + gY_][hi];
        }
  
        w0 = strCxyz.charAt(gZ_); //rotaciÃƒÂ³n alrededor del eje Z
        if(w0 == '1'){
          //flexor moment en nudo en Z
          Reaction_[numberOfLibertyDegree_ * no + gZ_][hi] += -PQ[numberOfLibertyDegree_ * no + gZ_][hi];
        }
        // }
      } //nex i
    }