text:
## 25 January 2015

### Thoughts on capital investment appraisal

A while back, I posted about the techniques one must use when calculating appraisals in a Canadian context. It was somewhat simplified, as it pertained only to a single alternative. That is unrealistic, as the business world is more complex:
• What if there are alternatives?
• Which one makes more economic sense?
• Assuming that benefits are equal among the alternatives, which project results in the lowest cost?
• What if these alternatives have different economic lives?
• Is leasing or buying the most economical choice?

For the first two questions, the answer is almost always the alternative with the greatest net present value on a discounted cash flow basis. The only plausible exception is where the project represents a major ground-breaking development, and that calls for strategic decision-making at the Board level. That is a discussion for another time.

For the other questions, there is a technique available that has been rarely discussed but is quite powerful, which calls for determining the Equivalent Annual Cost. Put simply, it is the net present value divided by the capital annuity factor, or

$EAC = \frac{NPV}{A_{t,i}}$

where t = number of years, and i = cost of capital. The capital annuity factor is calculated as:

$A_{t,i} = \frac{1-\left(\frac{1}{1+i}\right)^t}{i}$

If there is any salvage value at the end of the project, that can be factored in through using a sinking fund factor, calculated as:

$SFF_{t,i} = \frac{1}{\left(1+i\right)^t-1}$

This is useful for many scenarios:
• What if the asset requires periodic overhauls every few years, and in what circumstances is it cheaper to replace rather than overhaul?
• What commitments must be made for maintaining inventories of parts and maintenance supplies?
• What if a landlord provides rent-free periods at certain points in the lease?
• Are there conditional grants or other incentives that are paid subsequent to acquisition or improvement of an asset?
• Can the asset be sold at the end of its useful economic life, and would that value be different for the various alternatives?
These can be calculated in a rather straightforward manner. Let us take an example of deciding which of two types of storage tanks would represent a more economical investment. A steel tank costing CAD 10,000 with a salvage value of CAD 1,000 and annual operating costs of CAD 1,600 has an estimated useful life of five years. It is being compared to a stainless steel tank costing CAD 25,000 with a salvage value of CAD 2,000 and annual operating costs of CAD 100. Which is the better choice?

In this case, all other things being equal, the stainless steel tank has the lower EAC, and it should be the preferred choice.

For manufacturing and processing operations, assets fall under class 29, which has a different calculation. The result can be modified as follows:

In this case, the end result would still be the same, but note how different the NPVs are for the capital investment.

This is not a new technique: in fact, it was taught to all CMAs and still represents part of the Body of Knowledge that we are expected to use in our work. It was discussed in much greater detail in A Practical Approach to the Appraisal of Capital Expenditures (C. <NAME>, <NAME> (1981), ISBN 0-920212-29-8), which, having been last issued in 1989, does not seem to be widely available these days. I took one of its examples on this subject, and updated it to take into account the "half-year rule" now in effect for claiming first-year CCA, as well as more realistic rates for corporate tax and cost of capital. Otherwise, the logic is still sound.

I am publishing this because I cannot seem to find anything similar on the web, and this is just too useful not to attract a wider audience in the CPA community. Formulas are embedded, so that its working can be better understood.


text:
# Property: (right/left) quasi-continuous

Definition: (right quasi-continuous) $R$ is right CS, and if $e,f$ are idempotents with $eR\cap fR=\{0\}$, then $eR\oplus fR$ is a summand of $R$.

Nothing was retrieved.

format: plain


text:
# Help with limit of radical expression

$$\lim_{x \to \infty} (\sqrt{x^2-49}-\sqrt{x^2-16} )$$

I multiplied by the conjugate radical expression:

$$=(\sqrt{x^2-49}-\sqrt{x^2-16}) \times (\sqrt{x^2-49}+\sqrt{x^2-16})$$

$$= x^2-49-(x^2-16)=x^2-49-x^2+16=-33$$

$$\lim_{x \to \infty}f(x) = -33$$

This is wrong. The correct answer is $0$. What is wrong in my process? Is it possible to solve this limit without multiplying by the conjugate? Thanks.

• $(\sqrt{x^2-49}-\sqrt{x^2-16}) \times (\sqrt{x^2-49}+\sqrt{x^2-16})=-33$ – hhsaffar Nov 12 '13 at 23:32
• @hhsaffar thanks, I edited it to say $-33$. I still don't understand how the answer is $0$ though. – Emi Matro Nov 12 '13 at 23:36

$\lim_{x \to \infty} (\sqrt{x^2-49}-\sqrt{x^2-16} )=\lim_{x \to \infty}\frac{(\sqrt{x^2-49}-\sqrt{x^2-16} )(\sqrt{x^2-49}+\sqrt{x^2-16} )}{(\sqrt{x^2-49}+\sqrt{x^2-16} )}=\lim_{x \to \infty}\frac{-33}{(\sqrt{x^2-49}+\sqrt{x^2-16} )}=0$
The denominator goes to $+\infty$
You forgot to divide with $\sqrt{x^2-49}+\sqrt{x^2-16}$


text:
# CAT 2019 Quant Questions with Solutions

Question:
If the population of a town is p in the beginning of any year then it becomes 3+2p in the beginning of the next year. If the population in the beginning of 2019 is 1000, then the population in the beginning of 2034 will be

 $(997) 2^{14}+3$ $(1003)^{15}+6$ $(1003) 2^{15}-3$ $(997)^{15}-3$

We can transform each of the options for ‘n’ years.

$(997){{2}^{14}}+3\equiv \left( p-3 \right){{2}^{n-1}}+3$

$(1003){{2}^{15}}+6\equiv \left( p+3 \right){{2}^{n}}+6$

$(1003){{2}^{15}}-3\equiv \left( p+3 \right){{2}^{n}}-3$

${{(997)}^{15}}-3\equiv {{\left( p-3 \right)}^{n}}-3$

As per the condition, in one year, the population ‘p’ becomes ‘3+2p’

Putting the value of n =1 in each option, and checking to get 3+2p, we have

$\left( p-3 \right){{2}^{n-1}}+3\equiv 3\ne 3+2p$

$\left( p+3 \right){{2}^{n}}+6\equiv \left( p+3 \right)2+6\ne 3+2p$

$(1003){{2}^{15}}-3\equiv \left( p+3 \right)2-3=3+2p$

${{\left( p-3 \right)}^{n}}-3\equiv \left( p-3 \right)-3\ne p-6$

Hence, the right answer is option 3.

Get one day FREE Trial of CAT online Full course
Also Check: 841+ CAT Quant Questions with Solutions

#### CAT Quant Online Course

• 1000+ Practice Problems
• Detailed Theory of Every Topics
• Online Live Sessions for Doubt Clearing
• All Problems with Video Solutions


text:
# Why are dimension > 4 operators non-renormalizable?

1. Jun 22, 2005

### fliptomato

Hi everyone--I'm curious why terms in the Lagrangian with mass dimension greater than four are "nonrenormalizable."

I understand that the action must be dimensionless, hence the Lagrangian [density] has mass dimension 4. However, in effective field theories, we can end up with terms of dimension > 4, hence the coupling must have negative dimension. What's so bad about this?

(I guess somehow the renormalization group flow for such coupling constants diverges a mass scale given by the coupling?)

Thanks,
Flip

2. Jun 22, 2005

### vanesch

Staff Emeritus
It is exactly that ! It is explained for example in Ch 12 of Peskin and Schroeder, although quite sketchy.

cheers,
Patrick.

3. Jun 22, 2005

### <NAME>

Peskin and Schroeder first talks about this in chapter 4 after introducing
the φ4, QED and Yukawa interaction terms, See bottom of page 79.

Then there's more in chapter 10.

PS: Thanks to Google-Print we may hope to link directly to the appropriate
book pages like in this example here:


text:
Welcome guest
You're not logged in.
286 users online, thereof 0 logged in

## Theorems Regarding Limits of Functions

We observe that every real sequence $(x_n)_{n\in\mathbb N}$ can be interpreted as a function $f:\mathbb N\to\mathbb R.$ With this observation in mind, all theorems we can prove about the limits of functions will also apply to the limits of sequences. In this section, we present some of these theorems.

| | | | created: 2020-07-10 18:30:08 | modified: 2020-07-10 19:47:56 | by: bookofproofs | references: [581], [8311]

## 8.Theorem: Squeezing Theorem for Functions

### Bibliography (further reading)

[581] Forster Otto: “Analysis 1, Differential- und Integralrechnung einer Veränderlichen”, Vieweg Studium, 1983

[8311] <NAME>.; <NAME>.: “Tutorium Analysis 1 und Lineare Algebra 1”, Springer Spektrum, 2018, 4. Auflage


text:
Hi @martinmodrak, @jonah, and @bgoodri,

Thank you all very much for the explanations, this was extremely helpful!

If you don’t mind, I have one more larger question that builds on the above, but perhaps should be moved to a separate topic (happy to do it if you prefer).

I am currently co-developing another package with my colleague @beckyfisher using rstantools. The point of the package is to provide a specific set of non-linear models (about 10 different equations), in a similar way to how rstanarm makes the SSfunctions.

There are three things that we would like to allow the user to specify on top of the model type:
a) specifying a family for the response variable;
b) priors;
c) addition of an offset parameter on which they can add hierarchical effects, e.g. if \mu = a x^b, it would implement a variant like \mu = o + a x^b, with o being fixed and random, whereas a and b would be fixed only.

We started using rstantools (please see initial attempt here), but the combinations of families * non-linear equations became quite large (~50 stan models) in inst/stan, so pre-compilation during installation via install_github became prohibitive (about 1 hour to download and install).

We decided (at least for now) to implement (a–c) using brms (please see current version here) instead because it is more flexible, however it requires compilation on the go. We still would like to be able to implement (a–c) using rstantools, but the main questions then would be:

1 - Would the (eventual) download a binary version be too heavy considering a set of 50+ pre-compiled models?

2 - Is there a way to modularise the stan code by placing small bits and pieces of variants (e.g. changes to \mu formulas on link scales, changes to prior distributions) under inst/include such that the final pre-compiled product is much lighter?

Thanks again!
Best,
D

There is no way a package with 50 Stan programs would be able to go on CRAN and even without CRAN would be difficult to install. You need to use a bunch of if, else if, \dots else statements to express more models in fewer Stan files like is done in rstanarm.

3 Likes

Thanks for clarifying @bgoodri, we suspected it was going to be too heavy.

I’m also having trouble getting my RStan dependent package to build with GitHub Actions.

I get the same error as @dbarneche - a failure to link to tbb i.e.

clang++ -mmacosx-version-min=10.13 -std=gnu++14 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o rater.so RcppExports.o stanExports_class_conditional_dawid_skene.o stanExports_dawid_skene.o stanExports_grouped_data.o stanExports_hierarchical_dawid_skene.o -L'/Users/runner/runners/2.263.0/work/_temp/Library/RcppParallel/lib/' -Wl,-rpath,/Users/runner/runners/2.263.0/work/_temp/Library/RcppParallel/lib/ -ltbb -ltbbmalloc -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [rater.so] Error 1
ERROR: compilation failed for package ‘rater’

you can see the full logs in the check results for this PR. It fails on both Mac and Linux but passes on Windows

This is pretty odd, because the package builds fine on my Mac and on Travis, which I believe uses Linux.

I don’t really know if this is fixable and there is a known workaround, but I thought that I’d just record that this is a general problem and hope that someone would have some insight.

Thanks!

@jeffreypullin thanks for sharing and sorry for the hassle. I think the fix is for us to get new versions of rstan and rstantools on CRAN that depend on RcppParallel, which includes TBB and should avoid errors like this

I know @bgoodri and @wds15 are working on getting rstan submitted. I think the version of rstantools on GitHub is ready to go but is waiting on rstan.

@jonah I was writing a long comment about this when I realized what the problem is: although rstantools has been rolled back to 2.0.0

install.packages("rstantools")

on a Mac will still install 2.1.0 because that is what the current CRAN binaries are. 2.1.0 is however incompatible with the latest StanHeaders causing the failure.

I don’t see any easy way to fix this except to wait for the CRAN binaries to update.

cc fyi @dbarneche

just install it from source on Mac. That should give you the right version… still inconvenient, of course…

This should do what @wds15 suggested:

install.packages("rstantools", type="source")

Hi @mcol, @wds15, thanks for your responses.

That’s what I’m doing currently - the problem is GitHub Actions where I can’t customize the installation type easily (or at least I don’t think I can)

Best!

1 Like

@jeffreypullin, this is our temporary fix:

4 Likes

I’m not familiar with Github actions, but perhaps it’s posible to specify the rstantools github repository as the preferred repository ahead of CRAN? This page shows an example of how to setup actions for R, and it seems you can specify a repository with “uses”: https://github.com/r-lib/actions/tree/master/setup-r (I’m just guessing though)!

install.packages("rstantools", type="source")
before
remotes::install_deps(dependencies = TRUE)

in the Install dependencies part of the github action script should also work. It would build from source on all OS though.

2 Likes

Hi all, thanks for all your help - it’s now building successfully! I ended up using @rok_cesnovar’s suggestion to just install rstantools from GitHub. For anyone trying to emulate this, I put the line:

remotes::install_github("stan-dev/rstantools@v2.0.0")

at the start of the install dependencies block.

3 Likes

rstantools 2.1.x is now on CRAN again, so the GitHub business should be unnecessary

Will install.packages("myownpackage.tar.gz") triggers pre-compailation? It installs my package, but it recompiles.

I packed my R and stan codes and want to share with my colleagues. I have 90 stan files in my package so it took hours to compile. I don’t want my colleagues all spending so long time to install my package.

1 Like

Yes, install.packages recompiles the package. R packages cannot contain executables or libraries, so will always (as far as I know) require compilation on installation.

Thank you! Your answer saves me lots of time from keeping digging in and makes me so sad.

2 Likes

Hi everyone,

I am building a R package (not yet on CRAN) which depends on rstan and was built with rstantools. Following this thread, I was wondering if there is currently an easy way (i.e. one or two lines of code) for people to install the package without the need to compile all the stan models?

From the previous posts, it seems that install_github will automatically compile the stan models again even though the models were already pre-compiled.

install_github requires compilation. I gather you are trying to commit the compiled version of the models to the GitHub repository, but the compiled code is depends on the OS, the compiler, and the version of R. So, it will not generally work on a user’s computer, which is why install_github builds it locally from source. Once you get your package onto CRAN, it builds binary versions for all recent versions of Mac and Windows.


text:
0 like 0 dislike
3 views
Is the Cartesian product of nonempty sets is nonempty, even if the   product is of an infinite family of sets?
| 3 views


text:
1
AIEEE 2007
+4
-1
The energies of activation for forward and reverse reactions for A2 + B2 $$\leftrightharpoons$$ 2AB are 180 kJ mol−1 and 200 kJ mol−1 respectively. The presence of catalyst lowers the activation energy of both (forward and reverse) reactions by 100 kJ mol−1. The enthalpy change of the reaction ( A2 + B2 $$\to$$ 2AB) in the presence of catalyst will be (in kJ mol−1)
A
300
B
120
C
200
D
20
2
AIEEE 2007
+4
-1
Consider the reaction, 2A + B $$\to$$ products. When concentration of B alone was doubled, the half-life did not change. When the concentration of A alone was doubled, the rate increased by two times. The unit of rate constant for this reaction is
A
L mol-1 s-1
B
no unit
C
mol L-1 s-1
D
s-1
3
AIEEE 2007
+4
-1
A radioactive element gets spilled over the floor of a room. Its half-life period is 30 days. If the initial activity is ten times the permissible value, after how many days will it be safe to enter the room?
A
1000 days
B
300 days
C
10 days
D
100 days
4
AIEEE 2007
+4
-1
Which of the following nuclear reactions will generate an isotope?
A
neutron particle emission
B
positron emission
C
$$\alpha$$-particle emission
D
$$\beta$$-particle emission
JEE Main Subjects
Physics
Mechanics
Electricity
Optics
Modern Physics
Chemistry
Physical Chemistry
Inorganic Chemistry
Organic Chemistry
Mathematics
Algebra
Trigonometry
Coordinate Geometry
Calculus
EXAM MAP
Joint Entrance Examination


text:
For many years, I’ve been fascinated with the nature of distributed systems, consuming content or services from a network of incentivised individuals. “The Network” has a mind of its own: it moves, it changes by itself and no one can control it. Peer-To-Peer is a network layout where multiple clients who are running the same software can exchange information without the need of a single managing or provisioning authority. Everyone is a client and also a server.

The possibilities that this kind of technology enables are limitless, making it simultaneously frightening and liberating...

In decentralised applications, the nodes run software on their computers and connect to each other to create a mesh network topology that enables new nodes to easily join the network without restrictions like identification; this is called a permissionless network.
Every connected node can use that infrastructure to pass messages to other nodes without prior knowledge of their physical network address.This makes decentralized p2p software similar to open-source software, in that typically, once it’s released to the world, you can’t control how it evolves and where it gets used.

The first component we’re building in go-spacemesh is the p2p layer that provides other protocols a secured and scalable permissionless messaging system out-of-the-box. The research we’ve done has led us to write our own p2p networking stack in favour of using one of the existing p2p open source libraries. In this post I’ll elaborate about the thinking process that led to this decision and provide some useful information about what we’ve done.

### Spacemesh's requirements from a p2p stack

A suitable p2p solution must have a few important features:
Peer discovery - The process of joining the network and finding other nodes.
Direct messaging - Sending a direct message to another peer over a secured channel.
Broadcast - The ability to disseminate a message to the entire network.

Spacemesh’s higher level network protocols will leverage the p2p stack; thus, we must establish a robust feature set that is focused on our needs. Some of our protocols are bound to parameters derived from the p2p implementation, such as message propagation delay. This means we must be able to measure and fine-tune these critical parameters.

### The search for the perfect p2p library

When I first started working on the p2p layer, I thought, “Somebody must have already done this...” I got the same reaction from several other engineers as well. That usually works for applications, but even with the open source nature of this technology, there’s no general-purpose implementation out there. I started researching the p2p layer of projects such as Ethereum, IPFS and BitTorrent. All of those projects used a mechanism called Distributed Hash Table, DHT.
A DHT arranges peer contact records with identifiers (e.g., public keys) mapped to a physical network address (e.g., TCP/IP address). Records are updated and reordered frequently so that every node can maintain a list of live and fresh neighbours (neighbours = who has been seen online recently). The order is determined by “distance” to the node. The notion and calculation of distances varies between different flavours of DHT. Kademlia is the one used in the projects above.

The Kademlia distance is the result of a XOR operation between two node IDs.

The other aspects of DHTs are related to file indexing, which is left out in Ethereum, but not in IPFS.

IPFS libp2p and Ethereum’s p2p layer (surprisingly also named libp2p) both satisfies very specific requirements and have their own pitfalls.Both were initially designed to solve a specific use case in mind but evolved to attempt to achieve the status of a general-purpose library. extensive work has been done on these projects, but as time went by, they narrowed their scope. Ethereum aimed for their libp2p to be universal and provide only network structure, without dictating its usage. However, low-level parts of the network structure are tied to usage, like binary format and cryptography.

Exploring go-ethereum (The Ethereum full node implementation in Go), we’ve discovered that when using it, one is bound to use their RLP wire format. In p2p/message.go the main function used for sending p2p messages - p2p.Send looks like this:

// Send writes an RLP-encoded message with the given code.
// data should encode as an RLP list.
func Send(a MsgWriter, msgcode uint64, data interface{}) error {
size, r, err := rlp.EncodeToReader(data)
if err != nil {

return err
}    return w.WriteMsg(Msg{Code: msgcode, Size: uint32(size), Payload: r})
}

We can see that rlp is hardcoded to the function and go-ethereum p2p stack can’t be used without using RLP. In other words, the RLP hand-rolled binary encoding and decoding format is tightly coupled to the library hence,no easy way to use the library without using RLP.
We chose to use protobuf as Spacemesh’s wire binary format and we couldn't fulfil it using Ethereum’s stack.

IPFS maintains libp2p, a modular p2p networking stack. It is made from a large number of repositories (following the unix libraries’ modular design philosophy), which are actually modular to some extent, but can’t be used as building blocks. They are tightly bound to other fundamental IPFS libraries, like the base crypto scheme and primitives, logging and message binary format. Hence using these packages as part of another project will require maintaining a fork and probably introducing big changes that most likely won’t fit the libp2p maintainers’ roadmap. Although Libp2p is a modular p2p networking stack, it is a part of the IPFS product therefore its modularity use in other projects is not always ideal.

Another reason we didn’t base our code on IPFS or BitTorrent is that these projects are file-sharing oriented, which means that they implement file discovery and indexing features that are currently irrelevant to Spacemesh. This would have required maintaining a large unused code-base and disabling built-in file-sharing functionality.

### The Spacemesh way

We realised we can’t JUST use an existing p2p protocol stack. Spacemesh relies on a secure and efficient p2p layer that needs to be benchmarked, profiled and tuned to achieve concrete characteristics which our protocols requires. We learned a lot from all the above mentioned projects, picked the good parts that suit the project, optimised them for our needs, and open sourced everything under the permissive MIT open source software license. Others who find this useful may freely use it in their own projects. Currently, the go-spacemesh p2p layer is implemented with a Kademlia DHT, secured encrypted connections and a protobuf-based wire format. It exposes a simple API on which p2p protocols can be built.

You can check the API, read more about our P2P stack and take part in building it at our GitHub page

click here to register for our upcoming testnet


text:
# Complete randomized benchmarking protocol accounting for leakage errors

@article{Chasseur2015CompleteRB,
title={Complete randomized benchmarking protocol accounting for leakage errors},
author={<NAME> and <NAME>},
journal={Physical Review A},
year={2015},
volume={92},
pages={042333}
}
• Published 4 May 2015
• Computer Science, Mathematics
• Physical Review A
Randomized Benchmarking allows to efficiently and scalably characterize the average error of an unitary 2-design such as the Clifford group $\mathcal{C}$ on a physical candidate for quantum computation, as long as there are no non-computational leakage levels in the system. We investigate the effect of leakage errors on Randomized Benchmarking induced from an additional level per physical qubit and provide a modified protocol that allows to derive reliable estimates for the error per gate in…
26 Citations

## Figures from this paper

Randomized benchmarking in measurement-based quantum computing
• Computer Science
• 2016
This work adapts the randomized benchmarking protocol for a single qubit to a linear cluster state computation, which provides partial, yet efficient characterization of the noise associated with the target gate set.
Scalable randomized benchmarking of quantum computers using mirror circuits
• Computer Science, Physics
• 2021
This work uses a simple and customizable class of circuits — randomized mirror circuits — to perform scalable, robust, and flexible randomized benchmarking of Clifford gates, and shows that this technique approximately estimates the infidelity of an average many-qubit logic layer.
Scalable randomized benchmarking of non-Clifford gates
• Computer Science
• 2015
In their theoretical study, the researchers demonstrate how randomized benchmarking approaches can be expanded to a much broader range of logical operations, thereby enabling error benchmarking for all common logical operations used in leading quantum computing protocols.
From randomized benchmarking experiments to gate-set circuit fidelity: how to interpret randomized benchmarking decay parameters
• Computer Science
New Journal of Physics
• 2018
It is proved that single-qubit RB decay parameter p coincides with the decay parameter of the gate-set circuit fidelity, a novel figure of merit which characterizes the expected average fidelity over arbitrary circuits of operations from the gate, and conjecture that these results also hold for higher dimensions.
What Randomized Benchmarking Actually Measures.
• Mathematics
Physical review letters
• 2017
New theories of theRB decay are presented that are accurate for all small errors describable by process matrices, and it is shown that the RB decay curve is a simple exponential for all such errors.
Efficient unitarity randomized benchmarking of few-qubit Clifford gates
• Computer Science
Physical Review A
• 2019
This work provides a bound on the required number of data points for Clifford URB as a function of confidence and experimental parameters and shows that the unitarity of single-qubit Clifford gates can be rigorously estimated using few hundred data points under the assumption of gate-independent noise.
Quantification and characterization of leakage errors
• Computer Science
• 2018
Two quantities are proposed: the leakage and seepage rates, which together with average gate fidelity allow for characterizing the average performance of quantum gates in the presence of leakage and show how the randomized benchmarking protocol can be modified to enable the robust estimation of all three quantities for a Clifford gate set.
Direct Randomized Benchmarking for Multiqubit Devices.
• Computer Science
Physical review letters
• 2019
This Letter proposes a direct RB protocol that uses random circuits over the native gates in a device, which are seeded by an initial layer of Clifford-like randomization, and it can be extended to processors with more qubits and it reports a more directly informative and flexible error rate than the one reported by Clifford RB.
Randomized benchmarking with gate-dependent noise
It is proved that the exact impact of gate-dependent noise can be described by a single perturbation term that decays exponentially with the sequence length, and it is shown that the operational meaning of the decay parameter for gate- dependent noise is essentially unchanged.
Randomized Benchmarking as Convolution: Fourier Analysis of Gate Dependent Errors
• Mathematics, Computer Science
Quantum
• 2021
It is shown that the Randomized Benchmarking protocol is a convolution amenable to Fourier space analysis, and an alternative proof of Wallman's and Proctor's bounds on the effect of gate-dependent noise on randomized benchmarking is provided.

## References

SHOWING 1-10 OF 18 REFERENCES
Quantum computation and quantum information
• <NAME>
• Physics
Mathematical Structures in Computer Science
• 2007
This special issue of Mathematical Structures in Computer Science contains several contributions related to the modern field of Quantum Information and Quantum Computing. The first two papers deal
MATH
It is still unknown whether there are families of tight knots whose lengths grow faster than linearly with crossing numbers, but the largest power has been reduced to 3/z, and some other physical models of knots as flattened ropes or strips which exhibit similar length versus complexity power laws are surveyed.
Matrix Analysis and Applied Linear Algebra
The author presents Perron-Frobenius theory of nonnegative matrices Index, a theory of matrices that combines linear equations, vector spaces, and matrix algebra with insights into eigenvalues and Eigenvectors.
New
Phys
• Rev. A 77, 012307
• 2008
Phys
• Rev. A 89, 062321
• 2014
Phys
• Rev. Lett. 106, 180504
• 2011
#p
• Computer Science
Quantum Inf. Comput.
• 2017
Phys
• Rev. Lett. 114, 100503
• 2015
Characterization of Leakage Errors via Randomized Benchmarking
• 2014


text:
# TDP 29: DAO 2 DAO Swap - Balancer Source

Author <NAME>, mZeroNine https://forum.mstable.org/ Approved 2021-12-01

## Simple Summary

It is proposed to engage in a swap opportunity with Balancer Finance, arising from the upcoming launch of mStable’s Emission Controller.

An amount of 20k BAL against the equivalent USD value worth of MTA is to be considered for this swap, which would then be used to enter into the 80/20 BAL/ETH pool on Balancer. At current prices, it would represent roughly a $400k swap. Both protocols also agree to hold the swapped position for a minimum of 1 year from the date of the swap. ## Abstract mStable is about to release its version of the Gauge controller, inspired from Curve’s, which will dictate rewards distribution over the next 6 years (~30m MTA). As we speak, two Balancer pools are receiving MTA rewards: Balancer & mStable have been maintaining a long-standing relationship: mStable was one of the first user of Balancer in August 2020 and had the biggest pool at some point there. It is thought that it would be highly mutually beneficial for the Balancer and mStable Treasury DAOs to perform a DAO<>DAO token swap: • mStable would get exposure to a blue-chip DeFi project as well as diversify its treasury. Moreover, BAL has strong utility within the DeFI ecosytem: mStable could opt to leverage them in several ways. • Balancer would get a MTA position and could vote for their pools with the Emission Controller. Balancer would then direct higher rewards that will inevitably attract more liquidity (i.e Total Value Locked) to its pools. • Both protocols could choose to stake the exchanged tokens. They would be then eligible for subsequent boosts in rewards ## Motivation DAO<>DAO swaps are very strong market signals and often represent significant amounts of money: Balancer recently swapped$9m worth of BAL with FEI.

Therefore, we think swapping 20k BAL against the equivalent USD value of MTA is an amount that would reflect both the longstanding relationship mStable has with Balancer and the strong optimism felt towards the BAL token.

### Why now?

• The Convex /Curve way of getting inflation is becoming very competitive and unaffordable. This swap (in the Emission Controller framework) would showcase that there exists a cheap and effective way to make Liquidity Pools more attractive
• Having Balancer as a lead for the first epochs would send a clear and strong bull signal to the market
• Balancer swapping MTA against its own token is very likely to hold its position. It would create long-holding use cases for MTA
• This is an opportunity to go a step further with shared governance as well as a nice way to do a joint marketing campaign highlighting both protocols

### Treasury Considerations

The mStable DAO treasury has approximately 5m of liquid MTA that’s available to be deployed. It is acknowledged that this DAO<>DAO initiative with the Emission Controller could represent an important share of the current treasury, especially were other partners to also be interested in a swap

It is proposed to use the Emission Controller to redirect inflation rewards back to the mStable DAO Treasury and “reimburse” the total amount allocated for this operation over time. This will require high, weekly coordination within the community and mStable’s stakeholder group.

Furthermore, we will use the swapped tokens in further asset management opportunities to earn yield and offset the temporary expenditure of tokens

## Specification

a) Swapped amounts and origination

• 20k BAL against the equivalent USD value worth of MTA were agreed upon for this swap
• MTA tokens would be sent from the mStable Treasury Asset Management subDAO (0x67905d3e4fec0c85dce68195f66dc8eb32f59179) to the Balancer Treasury DAO (0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f)
• BAL tokens would be sent from the Balancer Treasury DAO (0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f) to the mStable Treasury Asset Management subDAO (0x67905d3e4fec0c85dce68195f66dc8eb32f59179)

b) Timeline and swap execution

This TDP will go to a Snapshot vote on the side of mStable on the 6th of December, and resolve on the 10th of December. Balancer voting will start at 7am EST Dec 6th, and resolve 7am EST Dec 9th and execution extendend until the 10th of December, so that both protocols have the same voting window.

Swap execution: Tokens will be swapped on-chain from the 13th of December onward, and the 1 year holding time will begin at the time the tokens from the transfer enter the wallet of the corresponding DAO.

c) Pricing method and price feeds

It has been agreed to use a 30-days smooth average. The time window for the 30 days average would be from the 10th of November until the 10th of December 2021.

MTA Price feed: MTA/ USD (Chainlink)

BAL Price feeds: BAL/USDT (Binance)

Copyright and related rights waived via CC0.


text:
Create a project (Code In Verilog) that determines the values of xin R from the quadratic equation of the second degree

$x_{1,2}=\frac{-b \pm \sqrt {b^2-4ac}}{2a}$

Have the Program displayed in DE2!


text:
# Brushing up on the basics

1. Jan 5, 2014

### matty204359

I feel retarded because I'm not understanding this equation despite getting A's in all my math classes.

$$i(t) = \frac{dq(t)}{dt}$$

some how becomes

$$q(t) = \int^{t}_{t_{0}} i(t)dt + q(t_{0})$$

I'm guessing we apply the integral operator $$\int dt$$ to both sides. so where is the $$q(t_{0})$$ term on the RHS coming from?

Its a charge(q) and current(i) formula as a function of time(t) if that helps make more sense.

Last edited: Jan 5, 2014
2. Jan 5, 2014

### gopher_p

$$q(t) = \int^{t}_{t_{0}} i(t)dt + q(t_{0})$$

is a special case of

$$f(t) = \int^{t}_{t_{0}}f'(t)dt + f(t_{0})$$

which is a corollary to the Fundamental Theorem of Calculus, sometimes referred to as the Net Change Theorem.

3. Jan 6, 2014

### tiny-tim

himatty204359! welcome to pf!
let's rewrite that as

$$q(t) - q(t_{0}) = [q(t)]^{t}_{t_{0}} = \int^{t}_{t_{0}} q'(t)dt$$

(btw, you really ought to have a different variable, eg τ, inside the ∫ )


text:
## About the prime gap list project.

The prime gap list project is a community curation and continuation of the contribution of Dr. <NAME> who, for nearly 20 years, maintained a reference web site which included a list of all first known occurrence prime gaps (see Prime Gap on wikipedia). Dr. Nicely acted as a central point of contact for the submission and publishing of new record prime gaps.

Dr. Nicely died in a car accident in Sept. 2019 and the Prime Gap Searches group of the Mersenne forum has taken on the responsibility of curating the list of all first known occurrence gaps and processing submissions of new record prime gaps via a community-maintained Github repository.

#### About the Mersenne forum’s Prime Gap Search group

The purpose of the forum is to act as a discussion area and an information exchange for those people interested in prime gaps.

We have a number of active searches going on, but all of the searches have something in common, the search for candidates that qualify to be listed on Dr <NAME>’s website http://www.trnicely.net/gaps/gaplist.html

The Nicely site keeps records of gaps of a specified length between two integers that are proven prime or shown to be probable primes. Each integer between the two end points is proven to be composite.

This forum is particularly interested in prime gaps that have a merit of great than 10. For a given prime $p$, the average prime gap to the next prime is given by $ln\left(p\right)$, where $ln$ is the natural logarithm. The merit of a gap $g$ is given by $g/ln\left(p\right)$.

There is little point in looking for gaps <1,352 as an exhaustive search of primes up to $4\ast 10^18$ has been carried out and all gaps smaller than this have been found.

As of the summer of 2014, the Nicely site had early instance prime gaps with merit >10 listed for all possible gaps <60,000 and an early effort by this forum has been to extend the early instance list up to 100,000.

At the far end of the scale, the forum is helping to support the largest gap search, looking at a candidate gap (4,680,156) provide by mart_r. This has a merit >20.

The forum also is looking at new approaches for finding large merit gaps. For example, a theoretical approach that looks at the modular relations of small primes over a range of 2310 integers that might provide record gaps in the range 1,350-4,000.

Last, but not least, the forum looks to develop gap hunting programs that can help to find those large merit gaps. - robert44444uk (<NAME>)


text:
# pgfplot - ylabel on the right [closed]

as much as I know, the following code should have the y axis label on the right:

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.4}
\usepackage{tikz}
\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{axis} [ ytick pos=right,
ylabel near ticks,
ylabel={Bla}, ]
\addplot table [x index=0, y index=1] {\mytable};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}

where 'Example.txt' is just 0 2 1 2 2 2 3 2 4 1 (With line breaks, they just don't appear here) Unfortunately the y-label still appears on the left. What did I make wrong?

Thanks, Juhui

-

## closed as too localized by Jake, <NAME>, percusse, <NAME>♦Aug 14 '12 at 21:21

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

Which version of pgfplots are you using? Your example code works as expected in my system (TeX Live2012, pgf version 2.10, pgfplots.sty: 2011/12/29 v1.5.1.). – <NAME> Aug 14 '12 at 18:20
Hi Medina, thanks for your reply. It pushed me into the right direction. Something is wrong with my installation. For now, I updated my ubuntu packages and I'm still not at pgfplots version 1.3, but at least now it works. Thanks a lot, – Juhui Aug 14 '12 at 20:06
You're welcome! You should consider installing TeX Live from TUG; the official repos ship a really old LaTeX system. Since you're problems has been solved, this question will perhaps be closed as too localized. – <NAME> Aug 14 '12 at 20:12


text:
Exponentially more concise quantum recognition of non-RMM regular languages

Authors
Type
Preprint
Publication Date
May 18, 2013
Submission Date
Sep 08, 2009
Source
arXiv
We show that there are quantum devices that accept all regular languages and that are exponentially more concise than deterministic finite automata (DFA). For this purpose, we introduce a new computing model of {\it one-way quantum finite automata} (1QFA), namely, {\it one-way quantum finite automata together with classical states} (1QFAC), which extends naturally both measure-only 1QFA and DFA and whose state complexity is upper-bounded by both. The original contributions of the paper are the following. First, we show that the set of languages accepted by 1QFAC with bounded error consists precisely of all regular languages. Second, we prove that 1QFAC are at most exponentially more concise than DFA. Third, we show that the previous bound is tight for families of regular languages that are not recognized by measure-once (RMO), measure-many (RMM) and multi-letter 1QFA. % More concretely we exhibit regular languages $L^0(m)$ for $m$ prime such that: (i) $L^0(m)$ cannot be recognized by measure-once, measure-many and multi-letter 1QFA; (ii) the minimal DFA that accepts $L^0(m)$ has $O(m)$ states; (iii) there is a 1QFAC with constant classical states and $O(\log(m))$ quantum basis that accepts $L^0(m)$. Fourth, we give a polynomial-time algorithm for determining whether any two 1QFAC are equivalent. Finally, we show that state minimization of 1QFAC is decidable within EXPSPACE. We conclude the paper by posing some open problems.


text:
Question
(a) If a submarine’s sonar can measure echo times with a precision of 0.0100 s, what is the smallest difference in distances it can detect? (Assume that the submarine is in the ocean, not in fresh water.)
1. $7.70 \textrm{ m}$
2. Spatial resolution is $7.70 \textrm{ m}$. Shape features of size less than that will not be detected. Object smaller than $7.70 \textrm{ m}$ will not be noticed.
Solution Video


text:
+0

# What is the range of the function$$f(x) = \frac{1}{1-x}~?$$Express your answer in interval notation.

0
77
1
+239

What is the range of the function$$f(x) = \frac{1}{1-x}~?$$Express your answer in interval notation.

Aug 3, 2022

#1
+124596
+2

Believe it, or not....we have  a lower power polynomial over a higher power polynomial

When this happens, we have a horizontal asymptote at  y = 0

So

The range is    (-inf ,0) U ( 0 , inf)

Aug 3, 2022


text:
# Generalizing a pattern for the Diophantine $m$-tuples problem?

A set of $m$ non-zero rationals {$a_1, a_2, ... , a_m$} is called a rational Diophantine $m$-tuple if $a_i a_j+1$ is a square. It turns out an $m$-tuple can be extended to $m+2$ if it has certain properties. The problem is to generalize the relations below to $m=5$.

I. $m=2$. Given $a,b$:

$$ax_i+1 = \big(a\pm\sqrt{ab+1}\big)^2\tag1$$

then {$a,b,x_1$} is a triple for any choice of $x_i$ . However, {$a,b,x_1,x_2$} is a quadruple if,

$$2(a^2+b^2)-(a+b)^2-3 = y^2$$

Ex. From $a,b = \frac{1}{16},\frac{17}{4}$, we get $x_1,x_2 = \frac{33}{16},\frac{105}{16}$, a quadruple first found by Diophantus.

II. $m=3$. Given $a,b,c$:

$$ax_i+1 = \big(a\sqrt{bc+1}\pm\sqrt{(ab+1)(ac+1)}\big)^2\tag2$$

then {$a,b,c,x_1$} is a quadruple. However, {$a,b,c,x_1,x_2$} is a quintuple if,

$$2(a^2+b^2+c^2)-(a+b+c)^2-3 = y^2\,^{\color{red}\dagger}$$

Ex. From $a,b,c = \frac{28}{5},\frac{55}{16},\frac{1683}{80}$, we get $x_1,x_2 = \frac{3}{80},1680$.

III. $m=4$. Given $a,b,c,d$:

$$\small(ax_i+1)(abcd-1)^2 = \big(a\sqrt{(bc+1)(bd+1)(cd+1)}\pm\sqrt{(ab+1)(ac+1)(ad+1)}\big)^2\tag3$$

then {$a,b,c,d,x_1$} is a quintuple. However, {$a,b,c,d,x_1,x_2$} is a sextuple if,

$$2(a^2+b^2+c^2+d^2)-(a+b+c+d)^2-3-6abcd+(abcd)^2 = y^2\,^{\color{red}\dagger}$$

Ex. From $a,b,c,d = \frac{5}{4},\;\frac{5}{36},\;\frac{32}{9},\;\frac{189}{4}$, we get $x_1,x_2 = \frac{3213}{676},\;\frac{665}{1521}$, one of first sextuples found by Gibbs in 1999.

$^{\color{red}\dagger}$ These two can be satisfied by the parametric example in the variable $t$ in Dujella's website.

IV. Notes:

In general, an $n$-tuple can be extended to a $n+1$ (unconditional) and $n+2$ (conditional) for $n=2,3,4$. Also, one root $x_i$ is equal to zero if,

$$(a-b)^2 = 4\\ (a+b-c)^2 = 4(ab+1)\\ (a+b-c-d)^2 = 4(ab+1)(cd+1)$$

for relations $(1), (2), (3)$, respectively.

V. Question:

For $m=5$, given $a,b,c,d,e$:

$$\text{LHS}? = \text{RHS}?\tag4$$

1. Can we find $(4)$, analogous to the first three? If yes, then maybe we can use known $5$-tuples or $6$-tuples to generate $7$-tuples, of which there is yet no known example.
2. The pattern is suggestive. But, like quintics, is there a Galois-theoretic restriction on five variables $a,b,c,d,e$ that prevent generalization for $m>4$?
• See also this MO post and MSE post. – Tito Piezas III Mar 11 '16 at 23:20
• I am somewhat familiar with the literature on Diophantine $m$-tuples yet I am trying to recover if there is a cohesive exposition that puts equations (1) - (3) into the same context. Where do (1) - (3) come from -- have I overlooked a well-known exposition? – <NAME> Mar 13 '16 at 9:18
• Some explanations can be found in Phil Gibbs' papers (see links at web.math.pmf.unizg.hr/~duje/ddlinks.html). – duje Mar 13 '16 at 9:35
• @JesperPetersen: The exposition is just a summary of what I read. You can find $(3)$ here and $(2)$ here and it was easy to extrapolate $(1)$ from those two. Then I got the conditional statements by letting $x_1 x_2 +1 =\square$, then simplifying the expressions. – Tito Piezas III Mar 13 '16 at 17:49

There is also an equation for extending quintuples to sextuples.

$(abcde+abcdf+abcef-abdef-acdef-bcdef+2abc-2def+a+b+c-d-e-f)^2 = 4(ab+1)(ac+1)(bc+1)(de+1)(df+1)(ef+1)$

This can be solved for $f$ with two rational roots when $\{a,b,c,d,e\}$ is a rational Diophantine quintuple (except in a few exceptional circumstances)

It does not always work because it only guarantees that the new number $a_6$ times numbers from the quintuple plus one will be squares times some number, i.e.

$a_6 a_i + 1 = qx_i^2, i<6$

If we get lucky and $q$ itself is a square we get a rational Diophantine sextuple

Here is an example of a regular sextuple that can be generated this way from any of its quintuples.

249/2048 3720/6241 715/384 369/128 38/3 920/3

• Very nice and interesting. It seems that the formula can be interpreted in terms of elliptic curves induced by Diophantine quadruples. In the notation of this paper web.math.pmf.unizg.hr/~duje/pdf/irr.pdf it seems that the points with the first coordinate f are Q +- R + A. – duje Sep 30 '16 at 15:51

(Too long for a comment, but may help in a generalization.)

After some sleuthing around, it turns out $(1),(2),(3)$ can be encapsulated in the single equation,

$$(a b c d e + 2a b c + a + b + c - d - e)^2 = 4(a b + 1)(a c + 1)(b c + 1)(d e + 1)\tag1$$

which I think is by Dujella. For example,

• Let $a,b,c,d =1,3,0,0,\,$ yields $e_1, e_2 = 0,8$.
• Let $a,b,c,d =1,3,8,0,\,$ yields $e_1, e_2 = 0,120$.
• Let $a,b,c,d =1,3,8,120,\,$ yields $e_1, e_2 = 0,\frac{777480}{8288641}$.

The last was also found by Euler, so he must have a version of $(1)$. Thus, in general, an $m$-tuple can be extended to a quintuple. However, if $e_1 e_2+1 =\square$, then it yields a sextuple as in the example above,

• Let $a,b,c,d = \frac{5}{4},\;\frac{5}{36},\;\frac{32}{9},\;\frac{189}{4},\,$ yields $e_1,e_2 = \frac{3213}{676},\;\frac{665}{1521}$.

a solution unnoticed by Euler and only found in 1999.

Tinkering with $(1)$, it can be expressed by the elementary symmetric polynomials $\alpha_i$ in a much simpler form,

$$(\alpha_1-\alpha_5)^2=4(\alpha_2+\alpha_4+1)\tag2$$

where,

\begin{aligned} \alpha_1 &=a + b + c + d + e\\ \alpha_2 &=a b + a c + b c + a d + b d + c d + a e + b e + c e + d e\\ \alpha_4 &=a b c d + a b c e + a b d e + a c d e + b c d e\\ \alpha_5 &=abcde\\ \end{aligned}

So if $(2)$ can be generalized, then the question can be rephrased as: Is there a version of $(2)$ using the elementary symmetric polynomials $\alpha_i$ for $a,b,c,d,e,f$?

• Euler had a version of (1) with $c=a+b+2r$, $d=4r(a+r)(b+r)$, where $ab+1=r^2$. In this case $e_1=0$. – duje Mar 15 '16 at 7:30


text:
#### Welcome!

Or register to create a new account.

We'll use your information only for signing in to this forum.

Supported by

# Creating a batch file for opensesamerun

Posts: 3

Hello

I am another Open University student who is (fairly) new to opensesame and am going about recruiting participants remotely. So far I have only been able to recruit people who have OS installed on their machines. I am interested in making a zip file containing a copy of my experiment and a means to run it, so I could send the file to participants who do not have OS installed and they could send their results back to me. The experiment is a facial recognition task which just records keyboard responses and reaction time. I have seen a few people mention batch files and opensemerun in old threads on here, this seems like it may be a good option but I don't have any experience of making batch files (or coding in general).

So I have the following questions:

1) Is this possible (or have I overlooked something)
2) What is the most space-efficient method of storing my experiment and a means to run it (i.e. are there files I could get rid of in the openseseme no-installation file)
3) Is there a step-by-step guide to running an OS experiment using a batch file anywhere?

Many thanks

Tom

• Posts: 2,516

Hi Tom,

1) Is this possible (or have I overlooked something)

Absolutely!

2) What is the most space-efficient method of storing my experiment and a means to run it (i.e. are there files I could get rid of in the openseseme no-installation file)

Which files can be safely deleted depends on which libraries you use in your experiment. You could try to first find large files that might actually be worth deleting; then delete them; and then see if the experiment still runs. Honestly though, I think you'll spend quite a bit of time to save very little space.

3) Is there a step-by-step guide to running an OS experiment using a batch file anywhere?

A batch file is simply a text file with commands that you could also execute in the windows command prompt (cmd.exe). So if you would create a file called run_experiment.bat in the OpenSesame folder with the following line it:

opensesamerun.exe "path\to\experiment.osexp" -s 0 -l logfile.csv -f

That should do the trick: You can just double-click on it to run the experiment.

Cheers!
Sebastiaan

Thanked by 1TApps

There's much bigger issues in the world, I know. But I first have to take care of the world I know.
cogsci.nl/smathot

• Posts: 3

Thanks for your response Sebastiaan. After a bit of playing with the files you're absolutely right in that I could end up wasting a lot of time not getting very far (it wouldn't be the first time). It seems that my idea of a downloadable zip file that anyone could open, though possible, wouldn't be practical as it would be way to large for anyone to consider downloading. I'll have to go back to the drawing-board, the joys of distance learning eh.

Thanks again for all your help

Tom

• Posts: 2,516

It seems that my idea of a downloadable zip file that anyone could open, though possible, wouldn't be practical as it would be way to large for anyone to consider downloading.

Is it though? We actually distribute OpenSesame to students for running experiments as well, and I don't think—in this day when streaming hi-def video is normal—that anyone thinks twice about downloading 300 mb. (Although this obviously depends on the environment.)

There's much bigger issues in the world, I know. But I first have to take care of the world I know.
cogsci.nl/smathot

• Posts: 3

Yes while a file of 300mb would probably be fine for most people to download, I had found that for opensesamerun to run everything had to be uncompressed, a process that took around ten minutes and pushed the file size up to more around 700mb. Unless I'm mistaken (or my computer's just very slow) this would mean either putting up a huge ~700mb file or expect people to wait for everything to be uncompressed, at which point I may as well just ask them to download and install OS from here.

• Posts: 2,516

Yes, you indeed need to send a compressed archive (a zip usually), and then have participants uncompress it. Windows' built-in unzipper takes ages to do this; programs like 7-zip are much faster.

Thanked by 1TApps

There's much bigger issues in the world, I know. But I first have to take care of the world I know.
cogsci.nl/smathot


text:
CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   This mesh contains patches of type empty but is not 1D or 2D (https://www.cfd-online.com/Forums/openfoam-solving/60059-mesh-contains-patches-type-empty-but-not-1d-2d.html)

 oric August 22, 2006 09:46

Hi, I tried to remove a wa

Hi,

I tried to remove a wall from the cavity case (tutorial/icoFoam/cavity) so I changed the blockMeshDict by moving a patch from fixedWall to frontAndBack in the boundary conditions :

wall fixedWalls
(
(2 6 5 1)
(1 5 4 0)
)
empty frontAndBack
(
(0 4 7 3)
(0 3 2 1)
(4 5 6 7)
)

Then I run blockMesh without problem but when I run icoFoam I get :

--> FOAM FATAL ERROR : This mesh contains patches of type empty but is not 1D or 2D
by virtue of the fact that the number of faces of this
empty patch is not divisible by the number of cells.

I agree, the mesh is not 1D or 2D, but the cavity example neither and it works with "empty" patches !

What should I do ? My goal is to run a NS simulation in a open space over a ground with obstacles.

TIA

Olivier.

 mattijs August 23, 2006 03:57

empty patches are not included

empty patches are not included in any calculation. They are really only useful for front and back of a pure 2D simulation. This also means your domain should be only one celllayer thick (since otherwise you'd still have internal faces in the cross direction)

The cavity tutorial is a 2D simulation (no cross flow, no gradients in cross direction apart from truncation errors)

 oric August 23, 2006 08:17

ok, so I used patch in

ok, so I used

patch in
(
(0 4 7 3)
)
patch out
(
(2 6 5 1)
)

and the right B.C. in 0/p and 0/U and it is ok.

Thanks,

Olivier.

 mahaputra May 15, 2009 20:21

This mesh contains patches of type empty but is not 1D or 2D

Dear All

since I am a beginner, i try to make a 2D mesh by manual n blockMesh

like shown below :

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 1e-3;

vertices
(
(250 0 0)
(300 0 0)
(250 100 0)
(300 100 0)

(100 100 0)
(250 100 0)
(300 100 0)

(0 175 0)
(100 175 0)
(100 175 0)
(250 175 0)
(300 175 0)

(0 225 0)
(100 225 0)
(100 225 0)
(250 225 0)
(300 225 0)

(100 550 0)
(250 550 0)
(300 550 0)
(300 550 0)
(400 550 0)

(100 600 0)
(250 600 0)
(300 600 0)
(300 600 0)
(400 600 0)

(250 0 1)
(300 0 1)
(250 100 1)
(300 100 1)

(100 100 1)
(250 100 1)
(300 100 1)

(0 175 1)
(100 175 1)
(100 175 1)
(250 175 1)
(300 175 1)

(0 225 1)
(100 225 1)
(100 225 1)
(250 225 1)
(300 225 1)

(100 550 1)
(250 550 1)
(300 550 1)
(300 550 1)
(400 550 1)

(100 600 1)
(250 600 1)
(300 600 1)
(300 600 1)
(400 600 1)
);

blocks
(
hex (0 1 3 2 27 28 30 29) (10 20 1) simpleGrading (1 1 1)
hex (4 5 10 9 31 32 37 36) (30 15 1) simpleGrading (1 1 1)
hex (5 6 11 10 32 33 38 37) (10 15 1) simpleGrading (1 1 1)
hex (7 8 13 12 34 35 40 39) (20 10 1) simpleGrading (1 1 1)
hex (9 10 15 14 36 37 42 41) (30 10 1) simpleGrading (1 1 1)
hex (10 11 16 15 37 38 43 42) (10 10 1) simpleGrading (1 1 1)
hex (14 15 18 17 41 42 45 44) (30 65 1) simpleGrading (1 1 1)
hex (15 16 19 18 42 43 46 45) (10 65 1) simpleGrading (1 1 1)
hex (17 18 23 22 44 45 50 49) (30 10 1) simpleGrading (1 1 1)
hex (18 19 24 23 45 46 51 50) (10 10 1) simpleGrading (1 1 1)
hex (20 21 26 25 47 48 53 52) (20 10 1) simpleGrading (1 1 1)
);

edges
(
);

patches
(
wall walls
(
(0 2 29 27)
(1 3 30 28)
(4 5 32 31)
(4 9 36 31)
(6 11 38 33)
(7 8 35 34)
(11 16 43 38)
(12 13 40 39)
(14 17 44 41)
(16 19 46 43)
(17 22 49 44)
(20 21 48 47)
(22 23 50 49)
(23 24 51 50)
(25 26 53 52)
)
patch inlet
(
(7 12 39 34)
)
patch outletBottom
(
(0 1 28 27)
)
patch outletTop
(
(21 26 53 48)
)

empty frontAndBack
(
(0 1 3 2)
(4 5 10 9)
(5 6 11 10)
(9 10 15 14)
(10 11 16 15)
(14 15 18 17)
(15 16 19 18)
(17 18 23 22)
(18 19 24 23)
(7 8 13 12)
(20 21 26 25)

(27 28 30 29)
(31 32 37 36)
(32 33 38 37)
(36 37 42 41)
(37 38 43 42)
(41 42 45 44)
(42 43 46 45)
(44 45 50 49)
(45 46 51 50)
(34 35 40 39)
(47 48 53 52)
)

);

mergePatchPairs
(
);

// ************************************************** *********************** //

i run checkMesh, and it said :

Mesh OK.

but, i got this following error message when tried to run my case (im using dieselFoam) :

Creating field DpDt

This mesh contains patches of type empty but is not 1D or 2D
by virtue of the fact that the number of faces of this
empty patch is not divisible by the number of cells.

From function emptyFvPatchField<Type>::updateCoeffs()
in file fields/fvPatchFields/constraint/empty/emptyFvPatchField.C at line 148.

FOAM exiting

anybody can help me please

really really need help :(

many thanks

 ngj May 16, 2009 05:42

Hi Nugroho

I do not know if it is the source of all your problems, however you have multiple defined points, e.g.:

(300 100 0)

(100 100 0)
(250 100 0)
(300 100 0)

and if you do not use the same points to define two blocks with common boundary, it will not automatically be merged. Remove all duplicate points and try again. By the way, the blockMesh do tell you that something is wrong by:

Default patch type set to empty
--> FOAM Warning :
From function polyMesh::polyMesh(... construct from shapes...)
in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 576
Found 6 undefined faces in mesh; adding to default patch.

This is a valuable warning, because you have manually made the front and back patches.

Good luck,

Niels

 mahaputra May 16, 2009 06:09

Quote:
 Originally Posted by ngj (Post 216350) Hi Nugroho I do not know if it is the source of all your problems, however you have multiple defined points, e.g.: (300 100 0) (100 100 0) (250 100 0) (300 100 0) and if you do not use the same points to define two blocks with common boundary, it will not automatically be merged. Remove all duplicate points and try again. By the way, the blockMesh do tell you that something is wrong by: Default patch type set to empty --> FOAM Warning : From function polyMesh::polyMesh(... construct from shapes...) in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 576 Found 6 undefined faces in mesh; adding to default patch. This is a valuable warning, because you have manually made the front and back patches. Good luck, Niels
Ok

i will remove the duplicate point

but, what do you mean with ''I have multiple defined points'' ? i still didnt understand :(

Thanks Niels :)

 ngj May 16, 2009 06:56

The point (300 100 0) is among others defined in the vertices-list more than once.

 mahaputra May 16, 2009 08:22

Quote:
 Originally Posted by ngj (Post 216356) The point (300 100 0) is among others defined in the vertices-list more than once.
Dear Niels

i have removed the duplicate points

like shown below :

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 1e-3;

vertices
(
(250 0 0) //0
(300 0 0) //1
(300 100 0) //2
(250 100 0) //3

(100 100 0) //4
(0 175 0) //5
(100 175 0) //6
(250 175 0) //7
(300 175 0) //8
(300 225 0) //9
(250 225 0) //10
(100 225 0) //11
(0 225 0) //12
(100 550 0) //13
(250 550 0) //14
(300 550 0) //15
(400 550 0) //16
(400 600 0) //17
(300 600 0) //18
(250 600 0) //19
(100 600 0) //20

(250 0 1) //21
(300 0 1) //22
(300 100 1) //23
(250 100 1) //24

(100 100 1) //25
(0 175 1) //26
(100 175 1) //27
(250 175 1) //28
(300 175 1) //29
(300 225 1) //30
(250 225 1) //31
(100 225 1) //32
(0 225 1) //33
(100 550 1) //34
(250 550 1) //35
(300 550 1) //36
(400 550 1) //37
(400 600 1) //38
(300 600 1) //39
(250 600 1) //40
(100 600 1) //41

);

blocks
(
hex (0 1 3 2 21 22 23 24) (10 20 1) simpleGrading (1 1 1)
hex (4 3 7 6 25 24 28 27) (30 15 1) simpleGrading (1 1 1)
hex (3 2 8 7 24 23 29 28) (10 15 1) simpleGrading (1 1 1)
hex (5 6 11 12 26 27 32 33) (20 10 1) simpleGrading (1 1 1)
hex (6 7 10 11 27 28 31 32) (30 10 1) simpleGrading (1 1 1)
hex (7 8 9 10 28 29 30 31) (10 10 1) simpleGrading (1 1 1)
hex (11 10 14 13 32 31 35 34) (30 65 1) simpleGrading (1 1 1)
hex (10 9 15 14 31 30 36 35) (10 65 1) simpleGrading (1 1 1)
hex (13 14 19 20 34 35 40 41) (30 10 1) simpleGrading (1 1 1)
hex (14 15 18 19 35 36 39 40) (10 10 1) simpleGrading (1 1 1)
hex (15 16 17 18 36 37 38 39) (20 10 1) simpleGrading (1 1 1)
);

edges
(
);

patches
(
wall walls
(
(0 3 24 21)
(1 2 23 22)
(4 3 24 25)
(4 6 27 25)
(2 8 29 23)
(5 6 27 26)
(8 9 30 29)
(12 11 32 33)
(11 13 34 32)
(9 15 36 30)
(13 20 41 34)
(15 16 37 36)
(20 19 40 41)
(19 18 39 40)
(18 17 38 39)
)
patch inlet
(
(5 12 33 26)
)
patch outletBottom
(
(0 1 22 21)
)
patch outletTop
(
(16 17 38 37)
)

empty frontAndBack
(
(0 1 3 2)
(4 3 7 6)
(3 2 8 7)
(6 7 10 11)
(7 8 9 10)
(11 10 14 13)
(10 9 15 14)
(13 14 19 20)
(14 15 18 19)
(5 6 11 12)
(15 16 17 18)

(21 22 23 24)
(25 24 28 27)
(24 23 29 28)
(27 28 31 32)
(28 29 30 31)
(32 31 35 34)
(31 30 36 35)
(34 35 40 41)
(35 36 39 40)
(26 27 32 33)
(36 37 38 39)
)

);

mergePatchPairs
(
);

// ************************************************** *********************** //

but i got this error message when i tried run blockMesh :

face 0 in patch 0 does not have neighbour cell face: 4(0 3 24 21)#0 Foam::error::printStack(Foam::Ostream&) in "/home/user/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/user/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libOpenFOAM.so"
#2 Foam::Ostream& Foam::operator<< <Foam::error>(Foam::Ostream&, Foam::errorManip<Foam::error>) in "/home/user/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt/blockMesh"
#3 Foam::polyMesh::facePatchFaceCells(Foam::List<Foam ::face> const&, Foam::List<Foam::List<int> > const&, Foam::List<Foam::List<Foam::face> > const&, int) const in "/home/user/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libOpenFOAM.so"
#4 Foam::polyMesh::polyMesh(Foam::IOobject const&, Foam::Field<Foam::Vector<double> > const&, Foam::List<Foam::cellShape> const&, Foam::List<Foam::List<Foam::face> > const&, Foam::List<Foam::word> const&, Foam::List<Foam::word> const&, Foam::word const&, Foam::word const&, Foam::List<Foam::word> const&, bool) in "/home/user/OpenFOAM/OpenFOAM-1.5/lib/linuxGccDPOpt/libOpenFOAM.so"
#5 Foam::blockMesh::createTopology(Foam::IOdictionary &) in "/home/user/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt/blockMesh"
#6 Foam::blockMesh::blockMesh(Foam::IOdictionary&) in "/home/user/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt/blockMesh"
#7 main in "/home/user/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt/blockMesh"
#8 __libc_start_main in "/lib/tls/i686/cmov/libc.so.6"
#9 __gxx_personality_v0 in "/home/user/OpenFOAM/OpenFOAM-1.5/applications/bin/linuxGccDPOpt/blockMesh"

From function polyMesh::facePatchFaceCells(const faceList& patchFaces,const labelListList& pointCells,const faceListList& cellsFaceShapes,const label patchID)
in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 125.

FOAM aborting

Aborted

i dont understand why this error message came? since i checked, for the face 0 in patch 0 (wall) it has neighbour cell .

so why this error came ? :(

 ngj May 16, 2009 09:45

The block

hex (0 1 3 2 21 22 23 24) (10 20 1) simpleGrading (1 1 1)

is ill-defined. I suppose it needs to be:

hex (0 1 2 3 21 22 23 24) (10 20 1) simpleGrading (1 1 1)

Best regards,

Niels

 mahaputra May 16, 2009 09:52

oh my God!

i didnt see it. Thanks Niels.

now my simulation is running :D

 hamsadhwani8 July 10, 2009 14:52

Hello,

I am trying to run a 3D case in interFoam. I am able to run a case with just 1 cell in the z-direction. However, when I try to increase the number of cells in this direction i get the following error while running the interfoam case. There is no problem with the mesh as checkMesh indicates. Can someone comment on this please? Below is the error i get at execution, followed by my blockMesh file. Thanks

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0

--> FOAM Warning :
From function Field<Type>::Field(const word& keyword, const dictionary& dict, const label s)
in file /Network/Servers/controller.cluster/Homedir/stsriniv/OpenFOAM/OpenFOAM-1.5/src/OpenFOAM/lnInclude/Field.C at line 252
Reading "/Homedir/stsriniv/OpenFOAM/stsriniv-1.5/run/tutorials/interFoam/dropletShear_inletU/0/pd::outlet" from line 34 to line 35
expected keyword 'uniform' or 'nonuniform', assuming deprecated Field format from Foam version 2.0.

Reading/calculating face flux field phi

Selecting incompressible transport model Newtonian
Selecting incompressible transport model Newtonian
Calculating field g.h

This mesh contains patches of type empty but is not 1D or 2D
by virtue of the fact that the number of faces of this
empty patch is not divisible by the number of cells.

From function emptyFvPatchField<Type>::updateCoeffs()
in file fields/fvPatchFields/constraint/empty/emptyFvPatchField.C at line 148.

FOAM exiting

-------------------------

My blockMesh file is:

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 1.0;//0.01; //0.146;

vertices
(
(-5.0 -1.5 -2.5)
(5.0 -1.5 -2.5)
(5.0 0 -2.5)
(-5.0 0 -2.5)
(5.0 1.5 -2.5)
(-5.0 1.5 -2.5)
(-5.0 -1.5 2.5)
(5.0 -1.5 2.5)
(5.0 0 2.5)
(-5.0 0 2.5)
(5.0 1.5 2.5)
(-5.0 1.5 2.5)
);

blocks
(
hex (0 1 2 3 6 7 8 9) (200 30 4) simpleGrading (1 1 1)
hex (3 2 4 5 9 8 10 11) (200 30 4) simpleGrading (1 1 1)
// hex (0 1 2 3 6 7 8 9) (15 100 1) simpleGrading (1 1 1)
// hex (3 2 4 5 9 8 10 11) (15 100 1) simpleGrading (1 1 1)
// hex (5 4 6 7 15 14 16 17) (15 100 1) simpleGrading (1 1 1)
// hex (7 6 8 9 17 16 18 19) (35 100 1) simpleGrading (1 1 1)
);

edges
(
);
patches
(
patch inlet1
(
(1 2 8 7)
)
patch inlet2
(
(3 5 11 9)
)
patch outlet
(
(2 4 10 8)
(0 3 9 6)
)
patch movingwall1 //atmosphere
(
(4 5 11 10)
// (0 6 7 1)
)
patch movingwall2 //atmosphere
(
// (4 5 11 10)
(0 6 7 1)
)
);

mergePatchPairs
(
);

// ************************************************** *********************** //

 ngj July 10, 2009 15:54

Quote:
 Originally Posted by hamsadhwani8 (Post 222308) This mesh contains patches of type empty but is not 1D or 2D by virtue of the fact that the number of faces of this empty patch is not divisible by the number of cells. //
The above is the answer you seek.

Best regards

Miels

 hamsadhwani8 July 10, 2009 16:11

Hi Niels,

Thanks for the quick reply. However, I did not understand that error. All the patches are either inlets/outlets or walls. What is this empty patch? Is it referring to the the front and back surfaces? I have used the exact same blockMesh file for a 2D case by simply changing the block thickness in the z direction and setting the number of cells to 1. If you could throw more light on this.

Thanks,
S

 ngj July 13, 2009 03:39

Hi Sechasai

The only thing I can come up with, is that sometimes I have experienced that the constant/polyMesh/boundary file is not updated.
Try deleting it and re-blockMesh, then it should be the correct file, and hopefully it will solve your problem.

Best regards,

Niels

 bobby August 4, 2009 15:16

Hi,
I have the same problem. I am trying to simulate the rising of bubble on a plate.
I already used InterFoam (with the same mesh and without errors) but I need to compare my results using InterDyMFoam.

The same message as above appears :

Selected 176 cells for refinement out of 146800.
Refined from 146800 to 148032 cells.
Selected 0 split points out of a possible 176.
Execution time for mesh.update() = 2.96 s

This mesh contains patches of type empty but is not 1D or 2D
by virtue of the fact that the number of faces of this
empty patch is not divisible by the number of cells.
From function emptyFvPatchField<Type>::updateCoeffs()
in file fields/fvPatchFields/constraint/empty/emptyFvPatchField.C at line 148.
FOAM exiting

Here, is my blockMeshDict,

/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.4 |
| \\ / A nd | Web: http://www.openfoam.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
root "";
case "";
instance "";
local "";
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
(0 0 0)
(0.004 0 0)
(0.070 0 0)
(0.08 0 0)
(0 0 0.013)
(0.004 0 0.013)
(0.070 0 0.013)
(0.08 0 0.013)
(0 0 0.015)
(0.004 0 0.015)
(0.070 0 0.015)
(0.08 0 0.015)
(0 0 0.02)
(0.004 0 0.02)
(0.070 0 0.02)
(0.08 0 0.02)
(0 0.02 0)
(0.004 0.02 0)
(0.070 0.02 0)
(0.08 0.02 0)
(0 0.02 0.013)
(0.004 0.02 0.013)
(0.070 0.02 0.013)
(0.08 0.02 0.013)
(0 0.02 0.015)
(0.004 0.02 0.015)
(0.070 0.02 0.015)
(0.08 0.02 0.015)
(0 0.02 0.02)
(0.004 0.02 0.02)
(0.070 0.02 0.02)
(0.08 0.02 0.02)
);
blocks
(
hex (0 1 17 16 4 5 21 20) (40 1 130) simpleGrading (1 1 1)
hex (1 2 18 17 5 6 22 21) (660 1 130) simpleGrading (1 1 1)
hex (2 3 19 18 6 7 23 22) (100 1 130) simpleGrading (1 1 1)
hex (4 5 21 20 8 9 25 24) (40 1 20) simpleGrading (1 1 1)
hex (6 7 23 22 10 11 27 26) (100 1 20) simpleGrading (1 1 1)
hex (8 9 25 24 12 13 29 28) (40 1 50) simpleGrading (1 1 1)
hex (9 10 26 25 13 14 30 29) (660 1 50) simpleGrading (1 1 1)
hex (10 11 27 26 14 15 31 30) (100 1 50) simpleGrading (1 1 1)
);
edges
(
);
patches
(
wall tankWall
(
(0 16 17 1)
(1 17 18 2)
(2 18 19 3)
(0 4 20 16)
(4 8 24 20)
(8 12 28 24)
(12 13 29 28)
(13 14 30 29)
(14 15 31 30)
)
patch inout
(
(15 11 27 31)
(11 7 23 27)
(7 3 19 23)
)
wall heatedPlate
(
(5 6 22 21)
)
(
(9 5 21 25)
(9 25 26 10)
(10 26 22 6)
)
empty backAndFront
(
(0 1 5 4)
(4 5 9 8)
(8 9 13 12)
(1 2 6 5)
(9 10 14 13)
(2 3 7 6)
(6 7 11 10)
(10 11 15 14)
(16 17 21 20)
(20 21 25 24)
(24 25 29 28)
(17 18 22 21)
(25 26 30 29)
(18 19 23 22)
(22 23 27 26)
(26 27 31 30)
)
);
mergePatchPairs
(
);
// ************************************************** *********************** //

Can someone help me please?

Best Regards

 sandy August 6, 2009 08:13

Hi guys, when I import my gambit .neu file into OpenFOAM, I check the mesh is OK. However, after I change the frontandback into empty (2D mesh) and check the mesh again, I get error message as follow:

/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5 |
| \\ / A nd | Web: http://www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Exec : checkMesh
Date : Aug 07 2009
Time : 01:55:47
Host : localhost.localdomain
PID : 5190
Case : /root/OpenFOAM/root-1.5/run/tutorials/LesInterPhaseChangeFoam/Hydrofoil/Sixdegree
nProcs : 1

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create polyMesh for time = constant

Time = constant

Mesh stats
points: 91414
internal points: 0
faces: 181229
internal faces: 89815
cells: 45174
boundary patches: 6
point zones: 0
face zones: 0
cell zones: 0

Number of cells of each type:
hexahedra: 45174
prisms: 0
wedges: 0
pyramids: 0
tet wedges: 0
tetrahedra: 0
polyhedra: 0

Checking topology...
Boundary definition OK.
Point usage OK.
Upper triangular ordering OK.
Face vertices OK.
Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces ...
Patch Faces Points Surface topology
inlet 103 208 ok (non-closed singly connected)
outlet 158 318 ok (non-closed singly connected)
up 237 476 ok (non-closed singly connected)
down 236 474 ok (non-closed singly connected)
frontandback 90348 91414 ok (non-closed singly connected)
foil 332 664 ok (non-closed singly connected)

Checking geometry...
Overall domain bounding box (-10 -10 0) (30 10 0.007)
Mesh (non-empty) directions (1 1 0)
Mesh (non-empty, non-wedge) dimensions 2
***Number of edges not aligned with or perpendicular to non-empty directions: 38113
<<Writing 76226 points on non-aligned edges to set nonAlignedEdges
Boundary openness (-8.9509e-24 9.15928e-22 -1.31298e-19) OK.
Max cell openness = 2.56232e-16 OK.
Max aspect ratio = 287.879 OK.
Minumum face area = 2.19292e-05. Maximum face area = 0.452831. Face area magnitudes OK.
Min volume = 2.41268e-07. Max volume = 0.00316982. Total volume = 5.29651. Cell volumes OK.
Mesh non-orthogonality Max: 39.8412 average: 5.87407
Non-orthogonality check OK.
Face pyramids OK.
Max skewness = 0.763965 OK.

Failed 1 mesh checks.

End
==============================

What's wrong with it? Could somebody help me out? Thanks a lot.

 sandy August 10, 2009 04:29

Maybe I should try to get the mesh by the great Tool snappyHexMesh?

 hansel August 14, 2009 01:49

Comment deleted

 tgj December 8, 2009 13:15

hi,

as a beginner in OpenFOAM, i'm trying to run a 2D "virtual wind tunnel" with a square shaped obstacle using simplefoam. This is my BlockMeshDict:

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

convertToMeters 0.05;

vertices
(
(0 0 0)
(20 0 0)
(20 5 0)
(0 5 0)
(0 0 0.1)
(20 0 0.1) //Z5
(20 5 0.1)
(0 5 0.1)
(40 5 0)
(40 10 0)
(20 10 0) //Z10
(40 5 0.1)
(40 10 0.1)
(20 10 0.1)
(20 -5 0)
(40 -5 0) //Z15
(40 0 0)
(20 -5 0.1)
(40 -5 0.1)
(40 0 0.1)
(27 1 0) //Z20
(32 1 0)
(32 4 0)
(27 4 0)
(27 1 0.1)
(32 1 0.1) //Z25
(32 4 0.1)
(27 4 0.1)
(27 0 0)
(32 0 0)
(32 0 0.1) //Z30
(27 0 0.1)
(27 5 0)
(32 5 0)
(32 5 0.1)
(27 5 0.1) //Z35
(20 1 0)
(20 4 0)
(20 4 0.1)
(20 1 0.1)
(40 1 0) //Z40
(40 4 0)
(40 4 0.1)
(40 1 0.1)
);

blocks
(
hex (0 1 2 3 4 5 6 7) (20 5 1) simpleGrading (1 1 1)
hex (2 8 9 10 6 11 12 13) (20 5 1) simpleGrading (1 1 1)
hex (14 15 16 1 17 18 19 5) (20 5 1) simpleGrading (1 1 1)

hex (1 28 20 36 5 31 24 39) (7 1 1) simpleGrading (1 1 1)
hex (29 16 40 21 30 19 43 25) (8 1 1) simpleGrading (1 1 1)
hex (36 20 23 37 39 24 27 38) (7 3 1) simpleGrading (1 1 1)
hex (21 40 41 22 25 43 42 26) (8 3 1) simpleGrading (1 1 1)
hex (37 23 32 2 38 27 35 6) (7 1 1) simpleGrading (1 1 1)
hex (22 41 8 33 26 42 11 34) (8 1 1) simpleGrading (1 1 1)

hex (28 29 21 20 31 30 25 24) (5 1 1) simpleGrading (1 1 1)
hex (23 22 33 32 27 26 34 35) (5 1 1) simpleGrading (1 1 1)
);

edges
(
);

patches
(
patch inlet
(
(0 3 7 4)
)

patch outlet
(
(16 40 43 19)
(40 41 42 43)
(41 8 11 42)
)

wall walls
(
(0 1 5 4)
(3 7 6 2)
(2 10 13 6)
(10 9 12 13)
(8 9 12 11)
(15 16 19 18)
(14 15 18 17)
(14 1 5 17)

(20 21 25 24)
(23 22 26 27)
(20 24 27 23)
(21 22 26 25)
)

empty frontAndBack
(
(0 1 2 3)
(4 5 6 7)
(2 8 9 10)
(6 11 12 13)
(14 15 16 1)
(17 18 19 5)

(1 28 20 36)
(5 31 24 39)
(29 16 40 21)
(30 19 43 25)
(28 29 21 20)
(31 30 25 24)
(23 22 33 32)
(27 26 34 35)
(36 20 23 37)
(39 24 27 38)
(21 40 41 22)
(25 43 42 26)
(37 23 32 2)
(38 27 35 6)
(22 41 8 33)
(26 42 11 34)
)
);

mergePatchPairs
(
);

// ************************************************** *********************** //

blockmesh works but displays the warning:
Default patch type set to empty
--> FOAM Warning :
From function polyMesh::polyMesh(... construct from shapes...)
in file C:\tmp\OpenFOAM-1.5\src\OpenFOAM\meshes\polyMesh\polyMeshFromShape Mesh.C at line 576
Found 12 undefined faces in mesh; adding to default patch.

when i try to run simplefoam, i get:

Programme terminated with errors: exit code 1, status 0.
Error messages:

This mesh contains patches of type empty but is not 1D or 2D
by virtue of the fact that the number of faces of this
empty patch is not divisible by the number of cells.

From function emptyFvPatchField<Type>::updateCoeffs()
in file C:\tmp\OpenFOAM-1.5\src\finiteVolume\fields\fvPatchFields\constrai nt\empty\/emptyFvPatchField.C at line 148.

FOAM exiting

i really don't know where those undefined patches are. Any help would be appreciated ;)

 hansel December 8, 2009 16:21

When I make my meshes, I always changed the undefined type from empty to patch. For some reason a default empty patch causes me problems too.

All times are GMT -4. The time now is 18:36.


text:
Algorithms

Algorithms

Sorting

Given: compare(a,b) to compare 2 numbers. Goal: Sort a list of numbers from smallest to largest.

$$\displaystyle O(n^2)$$ Algorithms

Insertion Sort

Basic Idea:

• Maintain a subarray which is always sorted

Algorithm:

• Grab a number from the unsorted portion and insert it into the sorted portion
• Repeat until no more numbers are in the unsorted subarray

Selection Sort

Basic Idea:

• Maintain a subarray which is always sorted.
• Every number in the sorted subarray will be smaller than the smallest number in the unsorted subarray.

Algorithm:

• Find the smallest number in the unsorted portion and insert it into the sorted portion
• Repeat until no more numbers are in the unsorted subarray.

Quicksort

Basic Idea:

• Divide an conquer.
• Very fast. Average case O(nlogn).

Algorithm:

Selection

Given: compare(a,b) to compare 2 numbers. A number k. Goal: Return the k'th largest number.

Median finding

• See CLRS
• Idea: Reinterpret your data as a 2D array of size 5 x (n/5)
• Find the median of each column of 5 elements
• Sort the columns by their medians
• Now you can eliminate the upper left (1/4) of elements and the lower right (1/4) of elements
• Recursively iterate on the remaining (1/2) of elements
• Each iteration takes O(n). Consecutive iterations are on n/2 data so we have $$\displaystyle O(n) + O(n/2) + ... = O(n)$$
• Worst Case $$\displaystyle O(n)$$

Quickselect

• Worst Case $$\displaystyle O(n^2)$$
• Average Case $$\displaystyle O(n)$$
Notes
• Using a good $$\displaystyle O(n)$$ pivot finding algorithm (See finding the median in O(n)) will reduce the worst case to $$\displaystyle O(n)$$


text:
QUESTION

ACC 291 Week 4 Comparing IFRS to GAAP Essay

Write a 700- to 1,050-word summary of the team's discussion about IFRS versus GAAP, based on your team collaborative discussions. The summary should be structured in a subject-by-subject format. An introduction and a conclusion are needed. Your essay should include the answers to the following:

IFRS 8-1: What are some steps taken by both the FASB and IASB to move to fair value measurement for financial instruments? In what ways have some of the approaches differed? IFRS 9-1: What is component depreciation, and when must it be used? IFRS 9-2: What is revaluation of plant assets? When should revaluation be applied? IFRS 9-3: Some product development expenditures are recorded as development expenses and others as development costs. Explain the difference between these accounts and how a company decides which classification is appropriate. IFRS 10-2: Explain how IFRS defines a contingent liability and provide an example. IFRS10-3: Briefly describe some similarities and differences between GAAP and IFRS with respect to the accounting for liabilities.

Format your essay consistent with APA guidelines.

Use the Financial Accounting text and at least two additional scholarly-reviewed references.

Click the Assignment Files tab to submit your assignment.

• $15.00 ANSWER Tutor has posted answer for$15.00. See answer's preview

*** *** Week * Comparing IFRS ** **** *****