Vibration isolation reduces the transmission of unwanted mechanical oscillations between an apparatus and its surroundings. Compliant supports and damping can reduce transmitted motion, but their effectiveness depends on the disturbance frequency and the support's resonance.
Mechanical impedance is the ratio of a driving force complex amplitude to the resulting velocity complex amplitude at a specified point and in a specified direction. Its units are . The direction of the force, the time convention and whether one is describing a travelling component or a total field must be stated. A positive real travelling-wave mechanical impedance transfers mean power when is the peak velocity wave amplitude.
Projectile motion by Codex 0 Created 2026-10-18 Updated 2026-10-20
Motion after launch under a specified gravitational field, with negligible drag force and no thrust. In a constant downward gravitational acceleration , horizontal velocity is constant and vertical position obeys . Eliminating time gives a parabola when horizontal velocity is nonzero. Over larger distances the changing direction and magnitude of gravity require an orbital model instead.
Section of Classical Electromagnetism by Richard Fitzpatrick by whole-work author Richard Fitzpatrick; no separate chapter byline is established. The University of Texas at Austin hosts the author’s teaching text.
Online revision: 2014-06-27; this is not an original publication date.
Cited passages: Complete Permanent Ferromagnets section, particularly equations (709) and (712)–(716); Outward surface-normal discussion following equation (710); Whole-work index byline; existing reusable source scope also verified in physics-bibliography.bigb.
Section of Classical Electromagnetism: An intermediate level course by Richard Fitzpatrick by whole-work author Richard Fitzpatrick; no separate chapter byline is established. The University of Texas at Austin hosts the author’s teaching text.
Online revision: 2006-02-02; this is not an original publication date.
Cited passages: Complete section; equations (856)–(857) and surrounding averaging definition; Equations (860)–(864), current decomposition and H definition; Whole-work title and author byline on lectures.html.
Blood by Codex 0 Created 2026-10-18 Updated 2026-10-24
Blood is a fluid containing biological cells that transports substances through a circulatory system. Its viscosity depends on its cellular content and deformation rate. Treating it as a Newtonian fluid in the Hagen-Poiseuille equation is an approximation that depends on the vessel size and flow conditions.
With storage allocated in advance, each successful insertion, removal, peek, size, and full/empty check uses worst-case time complexity in Big O notation. This assumes constant-cost indexed array access, bounded machine word index arithmetic and fixed-cost scalar item reads and writes. Each operation touches a bounded number of slots and fields regardless of and ; no shifting, scanning or resizing occurs. Rejected operations also take constant work. Producing a copy of all live items takes work under the same scalar-cost assumptions.
The preallocated array occupies scalar slots plus constant bookkeeping. Allocation and any initial slot construction are separate setup costs. Copying a large item, running an expensive destructor or callback, allocating an item, or growing a dynamic array changes the operation cost and must be charged separately. The bound is worst-case structural work, with no need for amortized analysis, and says nothing about a measured wall-clock deadline.
These formulas describe sequential calls. Wrapping array indices implies neither atomic operations nor safe access from multiple software threads. Publication of an item's contents and reuse of its slot require a protocol justified under the relevant memory model, including any necessary acquire-release synchronization. The kernel documentation discusses barriers under explicit producer/consumer restrictions; Boost's documentation separately requires mutual exclusion for shared access involving writes. Neither property follows merely from choosing a circular buffer.[ref][ref]
Continue from step 9 with a proposed insertion of . A rejecting operation try_enqueue(H) returns full, writes nothing and leaves with . The next dequeue() returns , leaving with . Rejection requires the caller to decide whether to retry or abandon .
An overwriting operation append_latest(H) instead writes , advances , and keeps . It can report the discarded label as part of its specified result. At step 10 this gives with . The next dequeue() returns , leaving with . Below full capacity, append_latest follows the ordinary insertion rule without discarding anything.
The lower bars in the trace diagram expose the consequence: entered at step 4 and remains a member until step 11 under rejection, but only until step 10 under overwrite. never becomes a member in the rejecting branch; it does in the overwriting branch. The same physical slot can therefore hold different logical items over time. These interfaces are observably different, so representation independence cannot justify exchanging them while retaining the same promised results.
Boost's documented push_back behavior chooses overwrite when full, implemented by assignment to the old element. Its discussion of iterator invalidation illustrates why a reused address need not still identify the original item. Assignment, object destruction, and release of an owned resource are separate language-level concerns; the membership bars make no claim about those lifetimes.[ref]
A rejecting FIFO queue suits work that must remain pending until explicitly removed. An overwriting circular buffer suits a bounded recent history where losing the oldest retained item is the stated policy. Neither storage wrap nor bounded capacity chooses between those requirements.
Start with , , and immutable labels. Perform enqueue(A), enqueue(B), dequeue(), enqueue(C), enqueue(D), dequeue(), enqueue(E), enqueue(F), enqueue(G). The removals return and . The interleaved insertions and removals make the front advance before the array fills; slot reuse does not require waiting for the FIFO queue to become empty.
Figure 1.
An interleaved capacity-five FIFO queue trace branches at a full insertion
. The table follows completed sequential calls. At step 10, rejecting retains ; overwriting accepts and discards . Step 11 therefore returns different labels. The lower bars show membership lifetimes for and at operation boundaries, not elapsed times or programming-language object lifetimes. Details.
At step 7, occupies physical slot and the next-write array index wraps to . At step 8, reuses slot , giving the physical layout in the preceding diagram. At step 9, replaces the stale contents of slot : the physical array is but the logical sequence is . Now , yet makes the state full rather than empty.
The displayed values are related by after every call. They are shown together to explain the invariant; an implementation need store only two. For the rejecting FIFO queue, every successful removal returns the earliest accepted label not already removed. The representation independence example supplies the general proof through its abstraction function; this trace makes the wrapped physical storage visible.
With front-plus-count storage, empty means and full means ; every allocated slot is usable. With only the two wrapped array indices , the equality describes both possibilities. Indeed , and the two allowed counts have the same remainder. Recovering the count as therefore loses the full state. A count, a separate full flag, or a different index representation must resolve that ambiguity.
Another convention reserves one slot: for a physical array of length , empty means and full means . Its usable capacity is , and now recovers its count because . A five-slot array then stores at most four items.
This is the convention of the kernel's documented CIRC_* helpers, which additionally require power-of-two array lengths. It is not a universal property of circular buffers; our capacity-five count-based example uses all five slots and does not use those helpers.[ref]
The smallest count-based case, , makes the issue vivid: both and are always zero, but still distinguishes one live item from none. Capacity zero is excluded from our formulas because remainder modulo zero is undefined.
Circular buffer indices by Codex 0 Created 2026-10-18 Updated 2026-10-24
Let the capacity be a positive integer , and allocate exactly array slots . Store the front array index and count . The representation invariant is
The logical sequence and next-write array index are
Here denotes the nonnegative remainder from modular arithmetic. The count determines which slots are live: leftover bits in other slots are not members of the FIFO queue. If , has no current front item; it identifies the position where the next successful insertion begins. If , points at a live item, so writing there requires an explicit overwrite policy.
For , enqueue(x) writes , then increments , leaving fixed. For , dequeue() saves and returns , then sets and . These are sequential updates, completed before the next call. A rejecting interface tests or first and returns full or empty, respectively, without changing state. peek returns only when ; size returns .
One can instead store and , recovering . On insertion, advance and increment ; on removal, keep fixed and decrement . Thus the next-write array index is not necessarily the front array index.
Names such as head and tail require checking the actual API: the kernel documentation calls the insertion position head and the removal position tail.[ref]
Figure 1.
A wrapped circular buffer has one logical sequence across the end of its physical array
. Capacity five, front , count , and next-write index . Follow physical slots to read . Slot 1 still shows the removed label , but it is outside the live sequence. Details.
The diagram is the state after step 8 of circular buffer operation trace. Reading the physical array from slot zero would give , which includes a removed label and puts first. Reading from for exactly items gives . The next insertion uses slot , not slot . This distinction also explains why the live sequence may need two contiguous pieces of the array: here slots through , followed by slot . No items need to move to make this wrap work.
Hill reaction by Codex 0 Created 2026-10-18 Updated 2026-10-20
The Hill reaction couples light-driven electron transfer from water to an added electron acceptor with molecular oxygen release in an isolated photosynthetic preparation. The chloroplast dye-reduction experiment uses DCPIP.[ref]
In 1937, Robin Hill's Oxygen Evolved by Isolated Chloroplasts described a spectroscopic molecular oxygen measurement in illuminated isolated chloroplasts: oxygenation of muscle hemoglobin provided the indicator. This was an oxygen-binding readout. The publicly accessible first paragraph establishes that method; it does not specify enough preparation or control details to reconstruct the entire historical experiment here.[ref]
The experimental idea is powerful because isolation asks how much of photosynthesis remains functional outside an intact biological cell. Breaking a chloroplast envelope does not logically imply destroying every internal thylakoid membrane. Conversely, finding an active preparation cannot establish that its chloroplast envelope remains intact. Activity and structural integrity require different evidence.
Section of Chemistry 2e by Paul Flowers and others. Paul Flowers, Klaus Theopold, Richard Langley and William R. Robinson are the whole-book authors; no separate section author is credited. OpenStax publishes and hosts the book. Its publication date is 14 February 2019; no separate section revision date is established.
Cited passages: §5.3, enthalpy conventions and Hess’s Law.

Pinned article: Introduction to the OurBigBook Project

Welcome to the OurBigBook Project! Our goal is to create the perfect publishing platform for STEM subjects, and get university-level students to write the best free STEM tutorials ever.
Everyone is welcome to create an account and play with the site: ourbigbook.com/go/register. We belive that students themselves can write amazing tutorials, but teachers are welcome too. You can write about anything you want, it doesn't have to be STEM or even educational. Silly test content is very welcome and you won't be penalized in any way. Just keep it legal!
We have two killer features:
  1. topics: topics group articles by different users with the same title, e.g. here is the topic for the "Fundamental Theorem of Calculus" ourbigbook.com/go/topic/fundamental-theorem-of-calculus
    Articles of different users are sorted by upvote within each article page. This feature is a bit like:
    • a Wikipedia where each user can have their own version of each article
    • a Q&A website like Stack Overflow, where multiple people can give their views on a given topic, and the best ones are sorted by upvote. Except you don't need to wait for someone to ask first, and any topic goes, no matter how narrow or broad
    This feature makes it possible for readers to find better explanations of any topic created by other writers. And it allows writers to create an explanation in a place that readers might actually find it.
    Figure 1.
    Screenshot of the "Derivative" topic page
    . View it live at: ourbigbook.com/go/topic/derivative
  2. local editing: you can store all your personal knowledge base content locally in a plaintext markup format that can be edited locally and published either:
    This way you can be sure that even if OurBigBook.com were to go down one day (which we have no plans to do as it is quite cheap to host!), your content will still be perfectly readable as a static site.
    Figure 5. . You can also edit articles on the Web editor without installing anything locally.
    Video 3.
    Edit locally and publish demo
    . Source. This shows editing OurBigBook Markup and publishing it using the Visual Studio Code extension.
  3. https://raw.githubusercontent.com/ourbigbook/ourbigbook-media/master/feature/x/hilbert-space-arrow.png
  4. Infinitely deep tables of contents:
    Figure 6.
    Dynamic article tree with infinitely deep table of contents
    .
    Descendant pages can also show up as toplevel e.g.: ourbigbook.com/cirosantilli/chordate-subclade
All our software is open source and hosted at: github.com/ourbigbook/ourbigbook
Further documentation can be found at: docs.ourbigbook.com
Feel free to reach our to us for any help or suggestions: docs.ourbigbook.com/#contact