Translate the provided English OghmaNano HTML/PHP page into Brazilian Portuguese by performing a strict, diff-only transformation: preserve all HTML, PHP, structure, order, IDs, classes, scripts, includes, include count, include locations, tables, menus, analytics, schema, and layout exactly as-is; do NOT add, remove, duplicate, reorder, or re-insert any PHP include statements; change to ; if and only if the English page does not already set $lang or include menu_top.html, then immediately after insert "$lang='pt'; include($_SERVER['DOCUMENT_ROOT'].'/menu_top.html');", otherwise do not add a second include; in the $meta array translate title and description faithfully (no SEO rewriting), change canonical to the /pt/ version, ensure 'lang' => 'pt', and ensure 'i18n_key' exists and is set deterministically to the canonical path WITHOUT the scheme/host and WITHOUT the /pt prefix (i.e., i18n_key = parse_url(canonical,PHP_URL_PATH) with any leading '/pt' removed); keep all other existing meta keys unchanged and do not add or remove any others; translate all visible text into professional, technical Brazilian Portuguese without adding, expanding, enriching, summarising, editorialising, or improving content; use standard physics terminology (drift–diffusion, SRH, transfer-matrix, etc.) while keeping scientific abbreviations (JV, OLED, OFET, EQE, SRH) in Latin characters; convert every localized_url(...,'en') to localized_url(...,'pt') and do not alter other URLs; translate headings, lists, buttons, and duplicated mobile/desktop sections consistently while keeping IDs, styles, emojis, symbols, punctuation, line breaks, and formatting exactly matching the English source; translate “Translations” to “Traduções” and keep get_translations(0) unchanged; do NOT add structured data (JSON-LD), schema, emojis, new sections, new text, new links, new scripts, or metadata that does not already exist in the English source EXCEPT adding 'lang' and the deterministic 'i18n_key' as defined above; output a complete valid HTML file only, with no commentary or explanations. If the English source contains any JSON-LD/schema/script blocks (including application/ld+json), keep them byte-identical (do not translate, do not change URLs, do not add/remove fields), and if the English source does not contain them, do not add them. Put the output in a code block. Calculator (RPN expressions) – OghmaNano Manual
Início Exemplos Capturas de ecrã Manual do utilizador Logótipo Bluesky YouTube
OghmaNano Simular células solares orgânicas/Perovskita, OFETs e OLEDs DESCARREGAR

The built-in calculator (RPN expressions)

OghmaNano includes a small built-in calculator that evaluates algebraic expressions using Reverse Polish Notation (RPN). This is used anywhere the software needs a compact, unambiguous way to specify a mathematical expression rather than a single numeric value.

In practice, you will most often encounter the calculator in workflows such as:

1. Supported operations

Arithmetic and comparison operators
Operation Operator Example
Exponentiation ^ \(2^3 = 8\)
Multiplication * \(2 * 3 = 6\)
Division / \(6 / 2 = 3\)
Addition + \(2 + 3 = 5\)
Subtraction - \(5 - 3 = 2\)
Greater than > \(5 > 3\) is 1
Less than < \(2 < 5\) is 1
Greater than or equal >= \(5 >= 5\) is 1
Less than or equal <= \(3 <= 4\) is 1

2. Supported functions

Supported functions
Function name Function Example
Sine sin \(\sin(\pi/2) = 1\)
Cosine cos \(\cos(0) = 1\)
Absolute value abs \(\text{abs}(-3) = 3\)
Positive part pos \(\text{pos}(-3)=0,\ \text{pos}(3)=3\)
Logarithm (base 10) log \(\log(100) = 2\)
Exponential exp \(\exp(2) = e^2\)
Square root sqrt \(\sqrt{9} = 3\)
Minimum min \(\min(2, 3) = 2\)
Maximum max \(\max(2, 3) = 3\)
Random rand \(\text{rand}(a,b)\) generates a random number between \(a\) and \(b\)
Log-random randlog \(\text{randlog}(a,b)\) generates a log-random number between \(a\) and \(b\)