The images taken with the scanning electron microscope show the crystal formation in the cement stone microstruc-ture, in picture 1 at a magnification of 2,000 and picture 2 at a magnification of 5,000.
Press release

New product line for the crystalline waterproofing of concrete

Recently developed by MC-Bauchemie, Centrament Proof C is a new range consisting of the two admixtures Centrament Proof CL 1 and Centrament Proof CP 10, both formulated for the waterproofing of concrete through crystallisation. They permanently protect the concrete from the penetration of damaging substances and are thus particularly suitable for concrete structures required to endure extensive or permanent exposure to water.

New product line Centrament Proof C

24 Mar 2021

MC-Bauchemie launches new product line for the crystalline waterproofing of concrete. Centrament Proof C permanently protect the concrete from the penetration of damaging substances and are thus particularly suitable for concrete structures required to endure extensive or permanent exposure to water.

The new Centrament Proof C line of concrete admixtures from MC-Bauchemie is used for the crystalline waterproofing of concrete. Centrament Proof CL 1 and Centrament Proof CP 10 serve to generate crystallisation, thus reducing the porosity of the concrete to produce a permanent waterproofing seal, invar-iably extending the structure’s service life.  <br>© MC-Bauchemie 2026

The new Centrament Proof C line of concrete admixtures from MC-Bauchemie is used for the crystalline waterproofing of concrete. Centrament Proof CL 1 and Centrament Proof CP 10 serve to generate crystallisation, thus reducing the porosity of the concrete to produce a permanent waterproofing seal, invar-iably extending the structure’s service life. MC-Bauchemie 2026

The hydration process in concrete results in the formation of pores, capillaries and even small cracks, through which water and harmful substances can later penetrate into the matrix of the hardened cement stone. In the course of a structure's service life, this can lead to dangerous damage to the concrete, caused by expansive pressure of ice and salts, cement stone “eating” by soft and acidic waters, or growth and biological activity of lower organisms. The new Centrament Proof C products from MC-Bauchemie are available in liquid form as Centrament Proof CL 1 and in the powdered variant, Centrament Proof CP 10. Both products exhibit similar performance characteristics. They generate crystallisation to produce a permanent waterproofing seal, thus reducing the porosity and permeability of the concrete and invariably extending the structure’s service life. However, there are also differences between the two variants – for example, Centrament Proof CL 1 is easier to dose with automatic dosing systems, whereas Centrament Proof CP 10 is, for example, easier to store and has a longer shelf life.

Concrete admixtures for the crystalline waterproofing of concrete

With Centrament Proof C, MC-Bauchemie has developed a line of crystalline concrete admixtures for waterproofing concrete that reduce the permeability of hardened cement stone and thus the penetration of water and corrosive substances into the concrete matrix. This property is beneficial to concrete structures that are extensively or permanently exposed to high water or pressurised water loads, such as cooling towers serving thermal and nuclear power plants, concrete containers like tanks, catch basins and swimming pools, underground structures with water impermeability requirements, and sewerage components such as pipes, ducts, manholes and shafts.

 

The active components of Centrament Proof CL 1 and CP 10 utilise the reaction products of cement hydration, transforming them into durable, non-soluble crystals. These grow and propagate in all directions into any available space, filling pores and capillaries and thus preventing water and corrosive substances from penetrating into the concrete matrix. Both products utilise a hybrid technology that combines crystallisation with a plasticising effect. The crystal growth thus initiated not only fills and seals pores and capillaries, it also results in the bridging and closing of fine cracks with widths of up to 0.4 mm. The ensuing denser cement stone microstructure generally leads to a concrete exhibiting enhanced resistance to a number of degrading factors such as frost, de-icing salts, chlorides, sea water and carbonation. The better the concrete resists these influences, the longer is the construction’s service life and the lower the likely maintenance costs.

pageImpression = pageImpression + 1; }); barba.init({ preventRunning: true, timeout: 5000, /* for debuggin usi this parameters debug: false, logLevel: 'debug', */ /*sync: true,*/ // define a custom function that will prevent Barba // from working on links that contains a `prevent` CSS class prevent: ({ el, event, href }) => { if (!el) { return false; } if (el.href && el.href.includes('landingpages')) { return true; } if (el.classList && el.classList.contains('prevent')) { return true; } return false; }, preventScroll: true, scroll: false, views: [], transitions: [ { name: 'header-transition', sync: false, from: { custom: ({ trigger }) => { if (trigger.classList && trigger.classList.contains('headerFlip')) { transistionImage = trigger.getElementsByClassName("transitionImage")[0]; if (typeof transistionImage == "undefined") { return false; } transisitionEffect = getRandomInt(1); return true; } return false; } }, async leave(data) { if (transistionImage === null) return; // can be null, return if null to not throw an error if ( transisitionEffect == 0) { const done = this.async(); let element = transistionImage; let state = Flip.getState(element); let headerImage = document.getElementById('headerImage'); headerImage.removeChild(headerImage.getElementsByTagName('img')[0]); let headerContent = document.querySelector('.headerContent'); gsap.to(headerContent, { opacity: 0, }); let content = document.querySelector('.content'); gsap.to(content, { opacity: 0, }); headerImage.appendChild(element); scroll(0,0); Flip.from(state, {duration:0.9, ease: "power1.inOut", scale: true, absolute:true,}); await delay(900); // Der await Operator wird genutzt, um auf einen Promise zu warten. Er kann nur in einer async Funktion benutzt werden. done(); } }, enter(data) { window.scrollTop = '0'; let content = data.next.container.querySelector('.content'); gsap.from(content, { opacity: 0, }); let headerContent = data.next.container.querySelector('.headerContent'); gsap.from(headerContent, { opacity: 0, delay: 0.5, }); }, after(data) { } }, { name: 'microsites_sliding_scroll', sync: true, from: { custom: (data) => { const { trigger, current, next } = data; function getParent(pathname) { const parts = pathname.split('/').filter(part => part !== '') return parts.length > 1 ? parts[parts.length - 2] : parts[0] || null } if (trigger === 'popstate' || trigger === 'back' || trigger === 'forward') { return false; } if(trigger.classList.contains('microsites_sliding_scroll') || trigger.classList.contains('sliding_scroll')){ return true; } if(current.namespace == 'template_138' && next.namespace == 'template_138') { return getParent(current.url.path) === getParent(next.url.path) } return false; } }, to: { namespace: [ 'template_120', 'template_138', ] },async leave({ current, next, trigger }) { const debug = window.debug; if (debug) console.log('Debug mode enabled'); const done = this.async(); const menuindexCurrent = +current.container.querySelector('[data-menuindex]').dataset.menuindex; const menuindexNext = +next.container.querySelector('[data-menuindex]').dataset.menuindex; const nextContent = next.container.querySelector('.content'); const currentContent = current.container.querySelector('.content'); let xPerc = menuindexCurrent < menuindexNext ? 100 : -100; const navbarHeight = document.querySelector('.navbar').offsetHeight; const pageHeight = document.querySelector('.header').offsetHeight; const nextContentHeight = nextContent.offsetHeight; const totalHeight = nextContentHeight + navbarHeight + pageHeight; document.body.style.minHeight = `${totalHeight}px`; const targetScrollY = trigger.classList.contains('microsites_sliding_scroll') ? pageHeight - navbarHeight : pageHeight + navbarHeight; const top = trigger.classList.contains('microsites_sliding_scroll') ? '0px' : '116px'; gsap.set(next.container, { xPercent: xPerc, position: 'absolute', top: top, left: 0, display: 'block' }); const tl = gsap.timeline({ onComplete: () => { gsap.set(current.container, { display: "none" }); gsap.set(next.container, { clearProps: 'position,top,left,xPercent' }); gsap.set(nextContent, { clearProps: 'xPercent' }); document.body.style.minHeight = ''; done(); } }); tl.to(currentContent, { xPercent: -xPerc, duration: debug ? 5 : 0.5, ease: "power1.inOut", }, 0); tl.to(nextContent, { xPercent: -xPerc, duration: debug ? 5 : 0.5, ease: "power1.inOut" }, 0); tl.to(window, { scrollTo: { y: targetScrollY }, duration: debug ? 5 : 0.5, ease: "power1.inOut" }, 0); }, enter({ next }) { gsap.from(next.container, { opacity: 0, }); } }, { name: 'microsites_sliding', sync: true, from: { custom: ({ trigger }) => { if (trigger === 'popstate' || trigger === 'back' || trigger === 'forward') { return false; } if(trigger.classList.contains('microsites_sliding')){ return true; } return false; } }, to: { namespace: [ 'template_120', ] }, async leave({current, next}) { const done = this.async(); const tl = gsap.timeline({onComplete: ()=>{ gsap.set(next.container, {clearProps: 'all'}) gsap.set(next.container.querySelector('.content'), {clearProps: 'all'}) }}) const currentContent = current.container.querySelector('.content') const nextContent = next.container.querySelector('.content') const currentH1 = document.querySelector('.currentPagetitle') const currentIntrotext = document.querySelector('.currentIntrotext') const nextH1 = next.container.querySelector('.pageTitle') const nextIntrotext = next.container.querySelector('.introtext') gsap.set(next.container, { xPercent: 100, position: 'absolute', top: 0, left: 0 }) tl.to(currentContent, {xPercent: -100, opacity: 0, duration: 1, ease: "power1.inOut", onComplete: () => { gsap.set(current.container, { display: "none" }); }}, 0) .to([currentH1, currentIntrotext], { opacity: 0, duration: 0.5, ease: "power1.inOut", onComplete: () => { currentH1.innerText = nextH1.innerText; currentIntrotext.innerText = nextIntrotext.innerText; }}, 0) .to([currentH1, currentIntrotext], { opacity: 1, duration: 0.5, ease: "power1.inOut" }, 0.5) .to(nextContent, {xPercent: -100, duration: 1, ease: "power1.inOut"}, 0) await delay(1000); done(); }, enter({next}){ gsap.from(next.container, { opacity: 0, }); } }, { name: 'default', sync: false, async leave(data) { const done = this.async(); gsap.to(data.current.container, { opacity: 0, duration: 0.5, }); await delay(500); // Der await Operator wird genutzt, um auf einen Promise zu warten. Er kann nur in einer async Funktion benutzt werden. scroll(0,0); done(); }, enter(data) { window.scrollTop = '0'; gsap.from(data.next.container, { opacity: 0, duration: 0.5, }); }, after(data) { // START: Ankur - 15062023 - For Scroll Position History if(scrollHistory[data.next.url.href]) { let scroll = scrollHistory[data.next.url.href]; window.scrollTo({top: scroll.y, behavior: 'instant'}); } // END: Ankur } }, { name: 'self', enter() { }, } ] }); });