CBI OFFICE BUILDING, BKC, MUMBAI, G – Block at Bandra – Kurla Complex, Mumbai

Post Tensioned Construction Technology for Multi Storeyed Buildings

Project Name : CBI OFFICE BUILDING, BKC, MUMBAI, G – Block at Bandra – Kurla Complex, Mumbai

Central Bureau of Investigation (CBI) was allotted a land of 1500 sqm at C-35 A, G – Block at Bandra – Kurla Complex, popularly known as BKC at Mumbai by Mumbai Metropolitan Region Development Authority (MMRDA). They entrusted the work of project management to Central Public Works Department (CPWD). CPWD appointed M/s Enarch Consultant Private Limited as the consultant. Initially it was planned to have 2 Basements + Ground + 10 storeyed structure but later to cope up the requirements, the building was planned with 2 Basements + Ground + 13 storeyed structure. Since plot size was very small and space requirements of CBI were high, full FSI of 4 was utilised and also some FSI was purchased through making payment of the premium to MMRDA as per their guidelines. Total built up area planned including basements was of the order of 10,500 sqm. Accordingly the plans were got sanctioned. CBI building in Mumbai has been constructed with latest norms conforming to all the requirements of the local bodies. It houses almost all the offices under one roof. The building is occupied fully and is operational from March 2016 onwards. Important features of the project were adoption of new materials and techniques, 4 star GRIHA rating and accommodating services including required parking as per local bylaws in the plot. The building has achieved prestigious CIDC best project award, CPWD best completed project and IBC award.

img

Lakh

Project Budget

img

01 Jan 2018

Start Date

img

01 Jan 2019

Completion Date

img

Mumbai

Location

Project Team / Contact Us

S.No. Name(Mr/Mrs) Designation Office Address Office Number Mobile Number Email ID
1

TECHNOLOGY

Technology
Post Tensioned Construction Technology for Multi Storeyed Buildings

Description

Multi-storeyed construction is not now by choice but a necessity due to scarcity and high cost of land. Large module and span are now preferred particularly in office and commercial buildings due to economy in construction. It is also desired that more units can be accommodated in same height of the building to minimise the cost per unit area of constructed space.

In the offices, commercial and institutional buildings, centralised air-conditioning is also required due to temperature shooting up during summer in most parts of the country. Therefore, architects and engineers have to adopt a technology by which size of air-conditioning duct is minimised and beams are either eliminated or their sizes get reduced. Even in case of residential buildings if beams are eliminated, higher headroom can be achieved and within the same height, more number of storeys can be planned thereby reducing the cost of a unit.

Post tensioned construction technology offers the advantage of elimination or reduction in sizes of beams and slabs hence, in future such technology is going to replace traditional RCC construction in India.


Major Gains

Material saving

  1. Reduction in concrete due to thinner concrete members.
  2. Reduction in rebar in floor elements.
  3. Reduction in dead load resulting into saving in concrete and reinforcement of structural members including foundation.
  4. Saving in building cladding, vertical mechanical/service elements, rebar and concrete in shear walls and other materials due to lesser sizes.

Faster construction

  1. Potential pour cycle of 3-4 days.
  2. Reduced re-shoring.
  3. Better coordination with embeds and MEP openings.

Increased performance

  1. Improved seismic behavior.
  2. Reduced deflection and vibration.
  3. Improved crack control and water proofing properties, especially beneficial for parking garages and balconies.
  4. Longer spans and fewer columns giving greater flexibility in floor layouts in office/residential buildings and better lighting in parking garages which enhances personal safety.

Reduced lifetime cost

  1. Lower maintenance and lifecycle cost.
  2. Reduced building height resulting to higher headroom and energy savings.
  3. Potential to conform to green building norms.

Pre-stressed concrete design is more suitable for long span structures and those carrying heavy loads. Pre-stressed structures are slender and thus yield to more clearance. They do not crack under working loads and dead loads, and the deflection is reduced due to cambering effect of pre-stress.


Implementation Strategy

S.No. Description Images
1

Structural Arrangement -

The building was designed as RCC framed structure. Post Tensioned slabs were designed for all the floors to have large headroom as the building was fully air-conditioned. AHUs were placed on the lofts of the toilet blocks to economise the space. Structural glazing was designed and tested as per the requirements. Autoclaved aerated concrete (AAC) blocks were used in the infill walls.

Post Tensioned (PT) slab -

PT slabs were as adopted in all the floors. It provided extra headroom which was required for the services. PT slab has the advantages of increased clear spans, extra headroom, reduced storeyed height to enable more storeys in same height of the building, thinner slab, lighter structure, reduced cracking and deflections, and quality and skilled work. It is particularly economic in case of multi-storeyed buildings. Limitation of the PT slab is that it has to be insured that it is never cut or drilled which may cause the failure of the structure.

2

Dry stone cladding -

External facade has the cladding of ACP sheets and dry granite stones. For this, special arrangements were made to fix the stones. The stones were placed on four stainless steel pins as shown in figure. Each pin was inserted into two stones in which holes were drilled first. 

 

3

Double stack mechanised car parking -

Double stack mechanised car parking was used in the basements as it saved the space and also accommodated the required parking as per local bylaws. 

4

Green Building Features -

  • As the project was registered for 4 star GRIHA rating, green building features were the requirements of GRIHA ratings. Energy efficient LED and T5 lights were used in the project. Apart from the fittings, energy efficient chillers were used.
  • For recycling waste water, sewage treatment plant of 35 kLD capacity was provided in the basement.  Rain water harvesting arrangements were also made.
  • Solar PV panels could not be adjusted on roof slab hence a steel framework was installed so that solar PV panels could be installed over the same. A small solar power plant of 20 kWp was provided.
5

Structural Glazing -

Structural glazing was provided on external walls which also helped in reduction of the weight of the structure. The glazing was designed and tested for required loading. Main important feature of the structural glazing was to abide the requirements of the fire authorities.

Glass -

Glass was used partly in the partitions to bring the external light inside the halls. The officer’s cabins were planned on periphery of the building while halls were planned in the centre for the staff. Glass was used in the partitions to bring light inside and in the lobby. In the lobby, fire rated toughened glass was used. 

6

Itailan Marble Flooring -

In the main lobby and lift lobbies, Italian marble flooring was used for aesthetic purposes. 

7

Foldable Partition -

In the auditorium cum training centre, Dorma foldable partition was provided so that it can be used for large gathering by combining the two. 

8

Other features -

Includes all security equipments, intelligent fire alarm system, Intelligent building management system, complete networking, construction of diaphragm wall around the basements, smoke extraction fans in the basements, gas based fire suppression system, sensor based lights in cabins and toilets, variable frequency drive chillers and AHUs, and silent DG set. The building is designed as disabled friendly. Lifts are provided with Brail language.  

Lessons Learnt / Take Aways

S.No. Description Images
1

CBI building in Mumbai has been constructed with latest norms conforming to all the requirements of the local bodies. It houses almost all the offices under one roof. The building is occupied fully and is operational from March 2016 onwards.

The building has achieved prestigious CIDC best project award, CPWD best completed project and IBC award.

An error occurred while processing the template.
The following has evaluated to null or missing:
==> request.getParameter("param")  [in template "20096#20121#887434" at line 17, column 84]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign param1 = request.getParameter...  [in template "20096#20121#887434" at line 17, column 66]
----
1<#assign Project_related_to =""/> 
2<#assign Project_related_to ="Project related to"/> 
3				<#if locale?contains("hi")> 
4				<#assign Project_related_to ="प्रोजेक्ट से सम्बंधित"/> 
5			</#if> 
6 
7<#assign Technology =""/> 
8<#assign Technology ="Technology"/> 
9				<#if locale?contains("hi")> 
10				<#assign Technology ="तकनीकी"/> 
11			</#if> 
12 
13<section class="w-100 clearfix cpwdOurUnitsSec" id="cpwdOurUnitsSec"> 
14         <div class="cpwdOurUnitsInner"> 
15            <div class="container-fluid container-space custom-container-xxl"> 
16               <div class="cpwdOurUnitsCarousel"> 
17								 <#assign param1 = request.getParameter("param")/>  
18                 	 <div class="cpwdHeadingCommon"> 
19                     <h2> ${Project_related_to} ${param1} ${Technology}</h2> 
20                  </div> 
21                  <div class="owl-carousel owl-theme ourUnitsOwlCarousel"> 
22										 
23 
24 
25     <#if entries?has_content> 
26   <#list entries as entry> 
27	 <#assign assetRenderer = entry.getAssetRenderer()/> 
28	 <#assign className = assetRenderer.getClassName()/> 
29	 <#assign entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale))/> 
30	 <#assign viewURL= assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, entry,true)/>		  								 
31	 <#assign viewURL = assetRenderer.getURLViewInContext(renderRequest, renderResponse, viewURL)/> 
32	 <#assign fields = entry.getAssetRenderer().getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValues()/> 
33   <#if fields[1].getValue().getString(locale)== param1>		 
34			 
35			 
36<#assign docValJSON = fields[2].getValue().getString(locale) /> 
37<#assign imageUrl = jsonFactoryUtil.createJSONObject(docValJSON).getString("url") /> 
38<#if imageUrl?has_content> 
39 
40<#else> 
41<#assign imageUrl = "/documents/676924/679930/Tech080820181709230.jpg/abb94334-77e9-4623-a36f-f6abf59e52f8?t=1669112725720"/> 
42</#if> 
43 
44					 
45                <div class="item"> 
46									<#if entry.getAssetRenderer().hasEditPermission(themeDisplay.getPermissionChecker())> 
47        <#assign redirectURL = renderResponse.createRenderURL() /> 
48 
49        ${redirectURL.setParameter("struts_action", "/asset_publisher/add_asset_redirect")} 
50        ${redirectURL.setWindowState("pop_up")} 
51 
52        <#assign editPortletURL = entry.getAssetRenderer().getURLEdit(renderRequest, renderResponse)!"" /> 
53 
54        <#if validator.isNotNull(editPortletURL)> 
55            <#assign title = languageUtil.format(locale, "edit-x", entry.getTitle(locale)) /> 
56				    <a class="content-edit-icon-profile" href="${editPortletURL}"><i class="fas fa-edit"></i></a> 
57        </#if> 
58    </#if> 
59									 
60									 <div class="projectBox"> 
61                           <a href="${viewURL}"> 
62                              <div class="projectBoxInner"> 
63                                 <div class="projectImg"> 
64                                    <img style= "border-radius:10px; height:300px;" src="${imageUrl}" alt="img" > 
65                                 </div> 
66                                 <div class="projectTxt"> 
67                                    <h4>${fields[0].getValue().getString(locale)}</h4> 
68                                    <span><@liferay.language key="read_more" /></span> 
69                                 </div> 
70                              </div> 
71													</a> 
72                        </div> 
73                     </div> 
74	</#if> 
75											 
76											</#list> 
77										</#if> 
78										 
79											</div> 
80											</div> 
81							<div class="owlControlGroup w-100 d-flex align-items-center justify-content-center"> 
82                     <div class="owlNavBtn"> 
83                        <div class="btn-wrap owl-nav"> 
84                           <button class="prev-btn owl-prev"><span>‹</span></button> 
85                           <div id="custom-owl-dots3" class="custom-owl-dots owl-dots"></div> 
86                           <button class="next-btn owl-next"><span>›</span></button> 
87                        </div> 
88                     </div> 
89                  </div> 
90								  
91    </section> 
92 
93 <script> 
94        $(document).ready(function() { 
95    // Function to highlight active link based on scroll position 
96    function highlightActiveLink() { 
97      const scrollPosition = $(window).scrollTop(); 
98 
99      $('section').each(function() { 
100        const sectionTop = $(this).offset().top - 50; // Adjust offset if needed 
101        const sectionBottom = sectionTop + $(this).outerHeight(); 
102 
103        if (scrollPosition >= sectionTop && scrollPosition < sectionBottom) { 
104          const targetId = '#' + $(this).attr('id'); 
105          $('.scrollNav a').removeClass('active'); 
106          $('.scrollNav a[href="' + targetId + '"]').addClass('active'); 
107
108      }); 
109
110 
111    // Function for smooth scrolling on link click 
112    $('.scrollNav a').on('click', function(e) { 
113      e.preventDefault(); 
114      const targetId = $(this).attr('href'); 
115      const $targetSection = $(targetId); 
116 
117      if ($targetSection.length) { 
118        $('html, body').animate({ 
119          scrollTop: $targetSection.offset().top 
120        }, 100, 'swing', function() { 
121          highlightActiveLink(); // Highlight active link after scrolling 
122        }); 
123
124    }); 
125 
126    // Highlight active link on initial page load 
127    highlightActiveLink(); 
128 
129    // Highlight active link on scroll 
130    $(window).on('scroll', function() { 
131      highlightActiveLink(); 
132    }); 
133  }); 
134      </script> 
135      
136      <script> 
137          
138         // Get all video containers 
139         var videoContainers = document.querySelectorAll('.video-container'); 
140          
141         // Iterate through each video container 
142         videoContainers.forEach(function (container) { 
143             // Get video and button inside each container 
144             var video = container.querySelector('.video-item'); 
145             var btn = container.querySelector('.video-btn'); 
146          
147             // Function to play/pause video and change button text 
148             function myFunction() { 
149                 if (video.paused) { 
150                     video.play(); 
151                     btn.innerHTML = '<i class="fa fa-pause" aria-hidden="true"></i>'; 
152                 } else { 
153                     video.pause(); 
154                     btn.innerHTML = '<i class="fa fa-play" aria-hidden="true"></i>'; 
155
156
157          
158             // Attach the myFunction to the button's click event 
159             btn.addEventListener('click', myFunction); 
160         }); 
161          
162          
163          
164          
165          
166          
167          
168          
169      </script> 
170 
171      <script> 
172         // Parallax background 
173         $('.jarallax').jarallax({ 
174             speed: 0.5, 
175         }) 
176          
177          
178          
179          
180         $(".youtube-link").grtyoutube({ 
181             autoPlay: true, 
182             theme: "dark", 
183         }); 
184         $(".ourUnitsOwlCarousel").owlCarousel({ 
185             loop: false, 
186             margin: 20, 
187             dots: true, 
188             // autoplay: true, 
189             autoplayTimeout: 5000, 
190             smartSpeed: 1000, 
191             nav: true, 
192             autoplayHoverPause: true, 
193             dotsContainer: '#custom-owl-dots3', 
194             responsive: { 
195                 0: { 
196                     items: 1, 
197                     dots: false, 
198                 }, 
199                 600: { 
200                     items: 3, 
201                     dots: false, 
202                 }, 
203                 768: { 
204                     items: 3, 
205                 }, 
206                 1200: { 
207                     items: 5, 
208                 }, 
209             }, 
210         }); 
211          
212         $(document).ready(function ($) { 
213             var owl = $(".ourUnitsOwlCarousel"); 
214             owl.owlCarousel(); 
215             $(".next-btn").click(function () { 
216                 owl.trigger("next.owl.carousel"); 
217             }); 
218             $(".prev-btn").click(function () { 
219                 owl.trigger("prev.owl.carousel"); 
220             }); 
221             $(".prev-btn").addClass("disabled"); 
222             $(owl).on("translated.owl.carousel", function (event) { 
223                 if ($(".owl-prev").hasClass("disabled")) { 
224                     $(".prev-btn").addClass("disabled"); 
225                 } else { 
226                     $(".prev-btn").removeClass("disabled"); 
227
228                 if ($(".owl-next").hasClass("disabled")) { 
229                     $(".next-btn").addClass("disabled"); 
230                 } else { 
231                     $(".next-btn").removeClass("disabled"); 
232
233             }); 
234         }); 
235      </script> 
236      <script> 
237         const element = document.querySelector(".cpwdTimeline"); 
238         let isDragging = false; 
239         let previousX; 
240         let autoplayInterval; // Variable to store autoplay interval 
241          
242         function handleMove(event) { 
243             if (isDragging) { 
244                 const clientX = event.clientX || event.touches[0].clientX; 
245                 const deltaX = clientX - previousX; 
246                 element.scrollLeft -= deltaX; 
247                 previousX = clientX; 
248
249
250          
251         element.addEventListener('mousedown', (event) => { 
252             isDragging = true; 
253             previousX = event.clientX; 
254         }); 
255          
256         element.addEventListener('touchstart', (event) => { 
257             isDragging = true; 
258             previousX = event.touches[0].clientX; 
259         }); 
260          
261         element.addEventListener('mousemove', handleMove); 
262         element.addEventListener('touchmove', handleMove); 
263          
264         window.addEventListener('mouseup', () => { 
265             isDragging = false; 
266         }); 
267          
268         element.addEventListener('selectstart', () => { 
269             const selection = window.getSelection(); 
270             if (selection.toString().length > 0 && selection.focusNode.parentElement === element) { 
271                 element.scrollLeft = 0; 
272
273         }); 
274          
275         function startAutoplay() { 
276             autoplayInterval = setInterval(() => { 
277                 // Change the scrollLeft value here for smooth autoplay 
278                 element.scrollLeft += 1; // Adjust this value for the desired scrolling speed 
279             }, 20); // Change the interval for smoother/faster scrolling 
280
281          
282         function stopAutoplay() { 
283             clearInterval(autoplayInterval); 
284
285          
286         element.addEventListener('mouseenter', stopAutoplay); // Pause autoplay on hover 
287         element.addEventListener('mouseleave', startAutoplay); // Resume autoplay on mouse leave 
288          
289         // Initial handling of window size on load 
290         function handleResize() { 
291             isDragging = false; 
292
293          
294         window.addEventListener('resize', handleResize); 
295         handleResize(); 
296          
297         $('.counting').each(function () { 
298             var $this = $(this), 
299                 countTo = $this.attr('data-count'); 
300          
301             $({ countNum: $this.text() }).animate({ 
302                 countNum: countTo 
303             }, { 
304                 duration: 3000, 
305                 easing: 'linear', 
306                 step: function () { 
307                     $this.text(Math.floor(this.countNum)); 
308                 }, 
309                 complete: function () { 
310                     $this.text(this.countNum); 
311
312             }); 
313         }); 
314          
315         // Start autoplay initially 
316         startAutoplay(); 
317          
318          
319          
320      </script> 
321      <script> 
322        //  var $sidebar = $('#sidebar-nav'); 
323        //  var $content = $('#content'); 
324        //  var sidebarTop = $sidebar.position().top; 
325          
326        //  $(window).scroll(function () { 
327        //      var windowScrollTop = $(window).scrollTop(); 
328        //      var blogHeight = $content.outerHeight(); 
329          
330        //      if (windowScrollTop >= sidebarTop) { 
331        //          $sidebar.toggleClass('sticky', windowScrollTop < blogHeight); 
332        //      } else { 
333        //          $sidebar.removeClass('sticky'); 
334        //      } 
335        //  }); 
336          
337          
338          
339      </script>