;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Ciência do ketchup: estudo ensina como apertar bisnaga para evitar sujeira

iStock
Imagem: iStock

Marcella Duarte

De Tilt, em São Paulo

27/11/2022 19h08

Quem nunca sofreu um acidente com uma bisnaga de ketchup — principalmente quando ela está no finalzinho. Tirar aquelas últimas gotas pode custar respingos indesejados em alta velocidade.

Mas a ciência pode te ajudar a evitar sujeira em casa e manchas nas roupas.

"É irritante, potencialmente embaraçoso e pode estragar as roupas, mas será que podemos fazer algo a respeito?" disse Callum Cuttle, da Universidade de Oxford, em uma reunião da American Physical Society sobre dinâmica de fluidos. "E, mais importante, a compreensão deste fenômeno pode nos ajudar com quaisquer outros problemas na vida?"

A resposta para ambas as perguntas, segundo o pesquisador, é um retumbante sim. Junto com seu colega de Oxford, Chris MacMinn, ele conduziu uma série de experimentos para identificar as forças em jogo ao apertar o ketchup e desenvolver um modelo teórico para respingos.

Entre as descobertas práticas mais interessantes estão:

  • Apertar a bisnaga mais lentamente e aumentar o diâmetro bico ajuda a evitar respingos.
  • Há um limite crítico em que o fluxo de ketchup muda repentinamente de não respingar para respingar

Um artigo de pré-impressão foi postado no repositório arXiv e está atualmente ando por uma revisão por pares.

Por que respinga?

Isaac Newton identificou as propriedades do que considerava um "líquido ideal". Uma delas é uma viscosidade (basicamente, o quanto atrito/resistência ele exerce ao fluir) bem definida, independente de forças que sejam aplicadas sobre ele.

Mas nem todos os líquidos se comportam como "ideais". Em um fluido não newtoniano — como ketchup, mostarda, maionese, pudim, iogurte, sangue e lama — a viscosidade não é bem definida, variando de acordo com o grau de tensão aplicado.

Os físicos costuma chamar isso de "força de cisalhamento": mexer um copo d'água produz uma força de cisalhamento, e a água se deforma para sair do caminho, mas sua viscosidade permanece inalterada.

Mas o ketchup é composto por sólidos de tomate suspensos em um líquido, tornando-o mais um "sólido macio" do que um líquido, de acordo com Anthony Strickland, da Universidade de Melbourne, Austrália. Os sólidos se conectam para criar uma rede contínua, e é preciso superar a força dessa rede para fazer o ketchup fluir — normalmente, batendo na "bunda da garrafa".

Quando fazemos isso, a viscosidade diminui — quanto mais ela diminui, mais rápido o ketchup flui. Os cientistas da Heinz calcularam a taxa de fluxo ideal do ketchup em 0,0045 por hora.

Mas, quando sobra apenas um pouco de ketchup na embalagem, é preciso bater com mais força, aumentando assim o risco de respingos.

"Quando você chega ao fim, muito do que está dentro é ar", disse Cuttle. "Então, quando você aperta, o que está fazendo é comprimir o ar dentro da garrafa, o que aumenta a pressão que arrasta o ketchup para fora."

Já o bico tem o papel de fornecer uma força de arrasto que contraria o fluxo viscoso do ketchup, e o equilíbrio entre eles determina a taxa de fluxo. À medida que a garrafa esvazia, a viscosidade diminui porque há cada vez menos ketchup para empurrar — e cada vez mais espaço para o ar se expandir dentro dela, diminuindo a força motriz ao longo do tempo.

O experimento

Compreender a dinâmica complicada de por que o fluxo suave muda repentinamente para respingos começou com a simplificação do problema.

Cuttle e MacMinn fizeram em laboratório um experimento análogo a uma embalagem de ketchup, enchendo seringas com o molho e injetando diferentes quantidades de ar (de 0 a quatro mililitros) em taxas de compressão fixas, para ver como a mudança afetava a taxa de fluxo — e se respingava.

Eles repetiram o procedimento com seringas cheias de óleo de silicone, para medir melhor a viscosidade e outras variáveis, e construíram um modelo matemático de como apertar a embalagem.

O resultado: seringas com 1 mililitro ou mais de ar injetado produziram respingos. "Isso nos diz que é necessário ter de um tanto de ar na seringa (ou embalagem) para gerar um respingo e criar aquela explosão instável de fluxo", disse Cuttle.

Há um limite crítico de "derramamento de molho", quando o ketchup muda de fluxo suave para respingos, dependendo de fatores como a quantidade de ar, a taxa de compressão e o diâmetro do bocal.

Abaixo desse limite, a força motriz e o fluxo de saída do líquido são equilibrados, de modo que o fluxo é suave. Acima dele, a força motriz diminui mais rapidamente do que o fluxo de saída. O ar fica supercomprimido, como uma mola reprimida, e os últimos restos de ketchup são forçados a sair em uma explosão repentina.

O que fazer no finalzinho?

"O respingo de uma garrafa de ketchup pode chegar ao mínimo: apertar um pouco demais produzirá um respingo em vez de um fluxo constante de líquido", disse Cuttle.

Uma dica útil é espremer mais lentamente, reduzindo assim a taxa na qual o ar é comprimido.

Aumentar o diâmetro do bico ajudaria ainda mais, pois a válvula de borracha pode ampliar o risco de respingos. Sim, as válvulas ajudam a evitar vazamentos, mas também forçam a pessoa a fazer mais pressão para fazer o ketchup começar a fluir da embalagem.

Como um truque prático, Cuttle recomenda apenas retirar a tampa quando a embalagem estiver quase vazia, usando o restante do ketchup com um gargalo mais largo.

"É senso comum, mas agora existe uma estrutura matemática rigorosa para apoiá-lo", disse Cuttle. "E um gás empurrando um líquido para fora do caminho é algo que acontece em muitos outros contextos."

O modelo matemático e descobertas do estudo pode ser aplicado para outras situações, como aquíferos para armazenar dióxido de carbono capturado, certos tipos de erupções vulcânicas, e pulmões colapsados que precisam ser reinflados.

*Com informações de Ars Technica