This book is available under the Creative Commons Attribution-NonCommercial 3.0 No Cover License. It is a translation of ThinkJulia, which has the same license. A list of the differences between ThinkJulia and this book is available in Appendix C.
Allen Downey is a professor of computer science at Olin College of Engineering. He has taught at Wellesley College, Colby College, and U.C. Berkeley. He has a Ph.D. in computer science from U.C. Berkeley, and master’s and bachelor’s degrees from MIT.
He was familiar with Allen Downey’s Think Python book, which contains all the key elements for learning to program properly. However, this book is based on the Python programming language. My first draft of the course was a mishmash of many references, but as I worked on it, the content began to look more and more like the Think Python chapters. Soon, the idea of developing my course as a basis for moving that book to Julia became a reality.
It was a rough road. In August 2018 Julia v1.0 was released, and like all my fellow Julia programmers, I had to do a code migration. All the examples in the book are tested during the conversion of the source files to O’Reilly-compatible ASCIIDoc files. Both the toolchain and the code in the examples had to be compatible with Julia v1.0. Fortunately there are no courses in August….
The key: split, split, split surfaces. In the MESHING TOOLBOX > GEOMETRY EDITING you have numerous commands like POINT-TO-POINT, POINT-TO-EDGE, EDGE-TO-EDGE, SLICE, etc… which are very powerful (but very easy to use) interactive tools to prepare the geometry by creating regular regions where to use MAPPED MESH to create structured meshes of excellent quality.
A rigid element RBE2 has been created by selecting all the nodes of the four holes that serve to attach the SUPPORT to a rigid base by disabling the degrees of freedom (GoF) of rotation corresponding to the DEPENDENT nodes of the holes. In the INDEPENDENT node at the center of the SPIDER RBE2 the embedding condition TX=TY=TZ=RX=RY=RZ=0 has been prescribed.
It has been chosen to create a SPIDER RBE2 using as DEPENDENT nodes all the nodes of the 4 holes in order to easily apply later the dynamic base acceleration excitation (ENFORCED MOTION ACCELERATION) on the INDEPENDENT central node of the RBE2 element. This approach does not allow to obtain the forces in the bolts since they have been ignored (the objective here is to study the SUPPORT), but if it would be of interest to obtain the local forces to dimension the bolts this is perfectly possible, simply create local SPIDER RBE2 in each hole and in turn link all the nodes in the center of the hole with a global RBE2. To obtain all the stresses in the bolts you must include a CBUSH element placed between both RBE2 elements (use MESH > CONNECT > UNZIP), with the two coincident nodes placed in the center of each bolt: one node of the CBUSH goes to the independent node of the RBE2 of each hole, and the other to the dependent node of the global RBE2.
The ScriptForge libraries are a comprehensive collection of programming resources for Collabora Office that can be invoked from macros written in BASIC or command sequences written in Python.
It provides a collection of methods for manipulating and transforming one-dimensional (vectors) and two-dimensional (arrays) formations. The collection includes set, sort, import and export operations from text files.
This service is closely related to the Document service, which provides generic methods for manipulating Collabora Office documents, including those in Base. Hence, the Base service extends Document and provides additional methods specific to Base documents, allowing users:
The ScriptForge.Basic service offers a collection of Collabora Office BASIC methods to execute in a Python context. The Basic service methods exactly reproduce the syntax and behavior of the built-in BASIC functions.
Here is a simple example where page views are tracked. Each time a page is visible, the trigger event is fired and sends the pageview data to a defined URL along with a random ID.
When specifying the configuration data, you can either insert it or you can specify a URL in the config attribute to be collected remotely. In addition, in the case of the most popular analytics providers, the integrated configuration can be selected via the type attribute.
The configuration rewrite feature allows analytics providers to dynamically rewrite the configuration provided to them. It is similar to the remote configuration function, but also includes any configuration provided by the user in the request to the server. At the moment, only analytics vendors can enable this feature.
The runtime environment sends a request containing the built-in configuration, combined with the provided remote configuration, to the configRewriter connection point specified by the vendor. The provider uses this data server to create and return a rewritten configuration.