Click here to Skip to main content
Click here to Skip to main content

Universal Framework for Science and Engineering - Part 4: Space elevator

, 14 Aug 2006
Rate this:
Please Sign up or sign in to vote.
An article on framework applications to the space elevator.

The space elevaor

Introduction

The Universal Engineering Framework enables us to resolve very complicated problems of science and engineering. One of them is The Space Elevator project. It is not clear if this project would be implemented. However, it is an excellent sample for approving the framework. Now, I am considering only a very simplified model of the problem. It'll be extended later.

Background

The scheme of the space elevator is shown above. Straining of the cable is described by the following differential equation:

The space elevaor

where The space elevaor is the engineering stress, and The space elevaor is the linear density of the fictitious force. In our case, the latter parameter may be calculated as:

The space elevaor

The The space elevaor is the linear density, The space elevaor is the gravity acceleration, and The space elevaor is the centrifugal acceleration. Since our system contains a climber that may be considered as a mass point, it is convenient to use the Dirac delta function for the description of The space elevaor. The stress force of the cable is equal to:

The space elevaor

Let The space elevaor, The space elevaor be the values of the force at the ground and the counterweight, respectively. Then, The space elevaor, where The space elevaor is the mass of the counterweight. It is clear that this force depends on the height of the counterweight, so we have a boundary value problem of an ordinary differential equation. To solve it, I'll use the regression component that has been considered in part 2. Below, I'll describe the necessary software.

Importing of external libraries

Every serious engineering problem requires specware. This task requires a gravity field model. I'll show you how you can embed it. To do this, it is necessary to create a class that implements the ICategoryObject interface. Then, you can associate to it any square on the desktop, and use it as well as other objects. Interoperability is implemented by two interfaces. The first one provides a list of objects of the external library and access to them by name. It is presented below:

namespace CategoryTheory 
{ 
    ///<summary> /// The factory of category object 
    ///<summary> 
    public interface IObjectFactory 
    { 
        ///<summary> /// Names of objects 
        ///<summary> 
        string[] Names 
        { get; } 
        
        ///<summary> /// Object by name 
        ///<summary> 
        ///<param name="name> The name</param> 
        /// ///<returns>The object</returns> 
        ICategoryObject this[string name] 
        { get; } 
    }
}

The contents of this interface is clear. The second interface provides an editor of properties for the object:

namespace DiagramUI 
{ 
    ///<summary>
    /// Object with editing of propeties 
    ///<summary>
    public interface IPropertiesEditor 
    { 
        ///<summary>
        /// Gets property editor 
        ///<summary>
        object Editor 
        { get; } 

        ///<summary>
        /// The properties 
        /// <summary>
        object Properties 
        { get; set; } 
    } 
}

If we wish to edit the properties of the imported object, the object should implement this interface. The "Editor" property usually returns a Form that performs the editing of the properties of the object. However, if you would like to use another type of user interface (GTK, for example), then the editor should return an object of another type. The editor may return an array of objects. The first object is a property editor, the second one is an object icon. It looks like:

object IPropertiesEditor.Editor
{
    get
    {
        // Returns a property editor and icon
        return new object[] { new FormEditor(this), icon };
    }
}

The external interface corresponds to the External button. If you put this object on the desktop and right click it, then the following editor of properties should appear:

Properties

You can select a DLL file and then the type of the object using the combobox below. After performing these operations, the desktop will look like:

New picture

You must have noticed that a new icon for this object has appeared. This icon is defined by the IPropertiesEditor.Editor property. Right click on the object square to open a new editor of properties:

New editor

Then, we can work with this object as well as with other ones. Using this editor, you can load a text file of the gravity field. I've used the GEM-T3 gravity model.

Features of the formula editor

As has been said above, this task requires the Dirac delta function. The formula editor supports it. The presence of the delta function at the right part of the ordinary differential equation shows that the result function is not continuous. Indeed, the force of the cable is not continuous at the climber. It is presented on the following chart:

The main form of the framework

The abscissa axis corresponds to the height, and ordinate one is proportional to the force. The formula editor uses the standard Greek delta symbol for the delta function. It is presented in the following system of differential equations:

The main form of the framework

This system describes the stress of the cable. Generally, the formula may return any object. Later, I'll introduce the derivations of the delta functions in the sense of distributions. The formula editor is case sensitive. If f is a real function with a real return value, then the expression f(x) may have a different meaning. If x is a real value, then f(x) is a real. If x is a real vector, then f(x) is a real vector obtained by component-wise calculation. If x is a function with a real return value, then f(x) is a composition of f and x. The return value of this function is a real, and the type of the argument is equal to the type of the argument of the function x. The meaning of other components may be different. For example, the series component may return a vector of abscissas vector of ordinates and a function. It is presented on the following picture:

Types of chart

All these features are used for solving this problem. Looking forward, I note that the formula editor supports automatic differentiation. If you select the Tools/Derivation calculator main menu option, then you'll notice this feature:

Types of chart

Accumulator of the function

This feature was missing in the previous versions of this software. There are lots of cases when we need to obtain full functions at once. The Types of chart component calculates a function step by step, and then returns it at once. Its property editor is presented in the following picture:

Types of chart

This editor enables us to set the start time, the step, and the count of steps.

Feedback of ordinary differential equations

The force of the cable depends on the height. However, the height depends on the force since the force causes the enlargement of cable length. It is necessary to provide a feedback for resolving this problem. The solver of ordinary differential equations supports feedback. Its editor of properties is presented below:

Types of chart

This picture means that the variable u of the solver is linked to the parameter u of the Trajectory component.

Solving the problem

So, we have all the necessary ingredients for solving the problem. The following picture is devoted to defining the stress force of the cable:

Types of chart

Let us describe it in brief. The Gravity component is used for calculating the gravity acceleration. The Compliance and Linear density series contain information about engineering stress and linear density of the cable, respectively. I'd not attempt to use any realistic parameter. You can change them by loading another series. There exists a set of components of math transformations. The Equations solve differential equations, and Accum accumulates its solution. The Processor solves the boundary value problem. Its editor of properties is presented below:

Types of chart

This component defines the initial value of the parameter v of Equations. This parameter is proportional to the stress force of the cable near the ground. After performing several iterations, we have a more accurate value of this parameter. Then, using Equations, we have an opportunity to find the stress along the whole cable. It looks like:

Types of chart

Points of interests

Modern information technology looks like math. Developer veterans of software development are surprised: "How can functions return a function?" However, it is an everyday practice in modern IT and math as well. I think that the best practice to understand both of them is "There Is No Spoon" of the Matrix.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Petr Ivankov
Architect
Russian Federation Russian Federation
Ph. D. Petr Ivankov worked as scientific researcher at Russian Mission Control Centre since 1978 up to 2000. Now he is engaged by Aviation training simulators http://dinamika-avia.com/ . His additional interests are:
 
1) Noncommutative geometry
 
http://front.math.ucdavis.edu/author/P.Ivankov
 
2) Literary work (Russian only)
 
http://zhurnal.lib.ru/editors/3/3d_m/
 
3) Scientific articles
http://arxiv.org/find/all/1/au:+Ivankov_Petr/0/1/0/all/0/1

Comments and Discussions

 
GeneralMy vote of 5 Pinmembermanoj kumar choubey14-Mar-12 23:28 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web02 | 2.8.140718.1 | Last Updated 14 Aug 2006
Article Copyright 2006 by Petr Ivankov
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid