Location:
Search - Map o
Search list
Description: 最小生成树的prim算法
是求图中的最短路径的一个重要算法
但是是O(n2)复杂度的一个算法-minimum spanning tree algorithm is the prim map for the shortest path algorithm of an important but is O (n2) of a complex algorithm
Platform: |
Size: 3145 |
Author: 袁文 |
Hits:
Description: a non-sharing smart pointer class that can be used with STL containers such as std::map, vector, list, set, and deque. The smart pointer has an assignment operator and greater than operator that call the target object s operator.-a non-sharing smart pointer class that can STL be used with containers such as std : : map, vector, list, set, and deque. The smart pointer has an assignment o perator and greater than operator that the call target object s operator.
Platform: |
Size: 2323 |
Author: 张建 |
Hits:
Description: 应用斐波纳契堆和邻接表改进单源最短路径算法,使其算法的时间复杂性由O( )减少为O(nlogn+e),其中e为有向图的边的条数。-application Fibonacci heap and the adjacent table to improve single source shortest path algorithm, its algorithm's time complexity of O () reduced to O (nlogn e), where e is for the map to the edge of the few.
Platform: |
Size: 7881 |
Author: wt |
Hits:
Description: Implemented BFS, DFS and A*
To compile this project, use the following command:
g++ -o search main.cpp
Then you can run it:
./search
The input is loaded from a input file in.txt
Here is the format of the input file:
The first line of the input file shoud contain two chars indicate the source and destination city for breadth first and depth first algorithm.
The second line of input file shoud be an integer m indicate the number of connections for the map.
Following m lines describe the map, each line represents to one connection in this form: dist city1 city2, which means there is a connection between city1 and city2 with the distance dist.
The following input are for A*
The following line contains two chars indicate the source and destination city for A* algorithm.
Then there is an integer h indicate the number of heuristic.
The following h lines is in the form: city dist which means the straight-line distance from the city to B is dist.
Platform: |
Size: 2984 |
Author: bo |
Hits:
Description: TLV1544与TMS320VC5402通过串行口连接,此时,A/D转换芯片作为从设备,DSP提供帧同步和输入/输出时钟信号。TLV1544与DSP之间数据交换的时序图如图3所示。
开始时, 为高电平(芯片处于非激活状态),DATA IN和I/OCLK无效,DATAOUT处于高阻状态。当串行接口使CS变低(激活),芯片开始工作,I/OCLK和DATAIN能使DATA OUT不再处于高阻状态。DSP通过I/OCLK引脚提供输入/输出时钟8序列,当由DSP提供的帧同步脉冲到来后,芯片从DATA IN接收4 b通道选择地址,同时从DATAOUT送出的前一次转换的结果,由DSP串行接收。I/OCLK接收DSP送出的输入序列长度为10~16个时钟周期。前4个有效时钟周期,将从DATAIN输入的4 b输入数据装载到输入数据寄存器,选择所需的模拟通道。接下来的6个时钟周期提供模拟输入采样的控制时间。模拟输入的采样在前10个I/O时钟序列后停止。第10个时钟沿(确切的I/O时钟边缘,即上升沿或下降沿,取决于操作的模式选择)将EOC变低,转换开始。
-TLV1544 with TMS320VC5402 through serial port connectivity, at this time, A / D conversion chip as from the equipment, to provide frame synchronization DSP and input / output clock signal. TLV1544 DSP and data exchange between the chronology of the map is shown in figure 3. At the beginning of the margin (in chip-activated), and I DATA IN / OCLK invalid, DATAOUT at high resistance state. When the serial interface CS change low (activator), the chip start work, I / OCLK and DATAIN can DATA OUT is no longer in a state of high resistance. DSP through I / OCLK pin provide input / output clock 8 sequence, When the DSP from the frame synchronization pulse, the chip from the DATA IN receive four channels to choose b address, DATAOUT sent from the same time the previous conversion results from the
Platform: |
Size: 1207 |
Author: john |
Hits:
Description: 1.立方体Cube
2.四面体(三角锥)Tetrahedron
3.六角锥Hexagonal Pyramid
4.球Sphere
这四种几何图形的产生及贴图
对于openGLt初学者是不错的学习程式-1. Cube Cube 2. Tetrahedron (1.30 cone) Tetrahedron 3. 20.60 H Cone exagonal Pyramid 4. Sphere ball four geometry and the map produced for o penGLt beginners is a good learning program
Platform: |
Size: 2504 |
Author: 张嘉智 |
Hits:
Description: ROAM Simplistic Implementation
By Bryan Turner
brturn@bellsouth.net
January, 2000
Project file for MS Visual C++ 6.0.
Requires GLUT DLL (www.opengl.org)
Adjust program constants in Landscape.h and Utility.cpp.
MAPS:
Default map is read from HeghtXXX.raw where XXX is the MAP_SIZE
(as defined in Landscape.h). If this map is not found, the program
attempts to open \"Map.ved\", a Tread Marks map file. Tread Marks maps
will only work for MAP_SIZE == 1024. Also, the MULT_SCALE to view
Tread Marks maps correctly is \"0.25f\". (www.TreadMarks.com)
CONTROLS:
MOUSE - Hold Left Mouse Button to Rotate View Angle
Q - Change Rendering Mode (Wireframe, Lit, Fill, Texture)
O - Change View Mode (Observe, Follow, Drive, Fly)
W/S - Move forward/back
A/D - Rotate left/right (in Observe Mode only)
F - Stop Animation
R - Toggle Frustum Drawing
0/9 - More/Less Triangles per frame
1/2 - Adjust FOV
Platform: |
Size: 381179 |
Author: lifeng |
Hits:
Description: vxworks下的GIS系统。 使用说明: 1.下载 \"VxEmapgis.out\" 或则 \"VxEmapgis2.out\" 到目标机 2.运行 \"main\" ,启动应用程序 , 3.按 \"ESC\" 弹出菜单, 4.选择 \"打开图层\" , 弹出图打开窗口 , 输入图层文件名称 如 “road.vxw” 或者 “water.vxw” 5.按 大写字母\"O\",确定, 或者大写字母 “C”取消 6.按方向箭头、pagedown , pageup 实现漫游 , , + , - 实现缩放 7.按 \"ESC\" 第二次可以取消菜单 8.图层控制窗口中,列出了已打开的图层 , 使用方向箭头移动,选择相应的图层可以关闭,也可以在这里打开图层 9.选择菜单项 退出系统 ,结束应用程序 注:需要支持x86-bios 的PC机 , 我测试所用机器是: 目标机: p2的350M cpu + 256M内存 + Tornado2.02 + windml2.0 主机: p4 + window2000 server 虽然我已经把windml的库连接到程序里,可能还需要安装WINDML2.0,我不大确定. 需要把图层文件(“road.vxw” , “water.vxw” , \"region.vxw\" , \"placename.vxw\"),符号文件(symbollib目录)等 拷贝到wftpd的根目录下面 VxEmapgis.out : 没有中断提示 VxEmapgis2.out: 有中断提示-VxWorks under the GIS system. Use : 1. Download "VxEmapgis.out" or the "VxEmapgis2.out" to the target machine 2. Running the "main", launch applications, 3. According to the "ESC" pop-up menu, 4. Select "Open layer," pop-up window opened map input layer document names such as "road.vxw" or "water.vxw" 5. according capital letters "O" to identify, or capital letters "C" the cancellation of six. by direction of the arrow, Page, Page roaming, and - to achieve scalability 7. according to the "ESC" a second menu can be lifted eight. layer control window, which lists the already opened layer, the use of mobile direction of the arrow, choose the corresponding layer can be closed, you can also open
Platform: |
Size: 3009813 |
Author: 康康 |
Hits:
Description: 一系列缓冲区类支撑起了 Java 2 平台标准版的新 I/O(NIO)包。这些类的数据容器形成了其它 NIO 操作(如套接字通道上的非阻塞读取)的基础。在本月的 Merlin 的魔力中,常驻 Java 编程专家 John Zukowski 展示了如何操作那些数据缓冲区来执行如读/写原语这样的任务以及如何使用内存映射文件。在以后的文章里,他将把这里所提到的概念扩展到套接字通道的使用。 Java 2 平台标准版(Java 2 Platform Standard Edition,J2SE)1.4 对 Java 平台的 I/O 处理能力做了大量更改。它不仅用流到流的链接方式继续支持以前 J2SE 发行版的基于流的 I/O 操作,而且 Merlin 还添加了新的功能 — 称之为新 I/O 类(NIO),现在这些类位于 java.nio 包中。
I/O 执行输入和输出操作,将数据从文件或系统控制台等传送至或传送出应用程序。(有关 Java I/O 的其它信息,请参阅 参考资料)。
缓冲区基础
抽象的 Buffer 类是 java.nio 包支持缓冲区的基础。 Buffer的工作方式就象内存中用于读写基本数据类型的 RandomAccessFile 。象 RandomAccessFile一样,使用 Buffer ,所执行的下一个操作(读/写)在当前某个位置发生。执行这两个操作中的任一个都会改变那个位置,所以在写操作之后进行读操作不会读到刚才所写的内容,而会读到刚才所写内容之后的数据。 Buffer 提供了四个指示方法,用于访问线性结构(从最高值到最低值):
"capacity() :表明缓冲区的大小
"limit() :告诉您到目前为止已经往缓冲区填了多少字节,或者让您用 :limit(int newLimit) 来改变这个限制
"position() :告诉您当前的位置,以执行下一个读/写操作
"mark() :为了稍后用 reset() 进行重新设置而记住某个位置
缓冲区的基本操作是 get() 和 put() ;然而,这些方法在子类中都是针对每种数据类型的特定方法。为了说明这一情况,让我们研究一个简单示例,该示例演示了从同一个缓冲区读和写一个字符。在清单 1 中, flip() 方法交换限制和位置,然后将位置置为 0,并废弃标记,让您读刚才所写的数据:
清单 1. 读/写示例
import java.nio.*;
...
CharBuffer buff = ...;
buff.put('A');
buff.flip();
char c = buff.get();
System.out.println("An A: " + c);
现在让我们研究一些具体的 Buffer 子类。
回页首
缓冲区类型
Merlin 具有 7 种特定的 Buffer 类型,每种类型对应着一个基本数据类型(不包括 boolean):
"ByteBuffer
"CharBuffer
"DoubleBuffer
"FloatBuffer
"IntBuffer
"LongBuffer
"ShortBuffer
在本文后面,我将讨论第 8 种类型 MappedByteBuffer ,它用于内存映射文件。如果您必须使用的类型不是这些基本类型,则可以先从 ByteBuffer 获得字节类型,然后将其转换成 Object 或其它任何类型。
正如前面所提到的,每个缓冲区包含 get() 和 put() 方法,它们可以提供类型安全的版本。通常,需要重载这些 get() 和 put() 方法。例如,有了 CharBuffer ,可以用 get() 获得下一个字符,用 get(int index) 获得某个特定位置的字符,或者用 get(char[] destination) 获得一串字符。静态方法也可以创建缓冲区,因为不存在构造函数。那么,仍以 CharBuffer为例,用 CharBuffer.wrap(aString) 可以将 String对象转换成 CharBuffer 。为了演示,清单 2 接受第一个命令行参数,将它转换成 CharBuffer ,并显示参数中的每个字符:
清单 2. CharBuffer 演示
import java.nio.*;
public class ReadBuff {
public static void main(String args[]) {
if (args.length != 0) {
CharBuffer buff = CharBuffer.wrap(args[0]);
for (int i=0, n=buff.length(); i<n; i++) {
System.out.println(i + " : " + buff.get());
}
}
}
}
请注意,这里我使用了 get() ,而没有使用 get(index) 。我这样做的原因是,在每次执行 get() 操作之后,位置都会移动,所以不需要手工来声明要检索的位置。
回页首
直接 vs. 间接
既然已经了解了典型的缓冲区,那么让我们研究直接缓冲区与间接缓冲区之间的差别。在创建缓冲区时,可以要求创建直接缓冲区,创建直接缓冲区的成本要比创建间接缓冲区高,但这可以使运行时环境直接在该缓冲区上进行较快的本机 I/O 操作。因为创建直接缓冲区所增加的成本,所以直接缓冲区只用于长生存期的缓冲区,而不用于短生存期、一次性且用完就丢弃的缓冲区。而且,只能在 ByteBuffer 这个级别上创建直接缓冲区,如果希望使用其它类型,则必须将 Buffer 转换成更具体的类型。为了演示,清单 3 中代码的行为与清单 2 的行为一样,但清单 3 使用直接缓冲区:
清单 3. 列出网络接口
import java.nio.*;
public class ReadDirectBuff {
public static void main(String args[]) {
if (args.length != 0) {
String arg = args[0];
int size = arg.length();
ByteBuffer byteBuffer = ByteBuffer.allocateDirect(size*2);
CharBuffer buff = byteBuffer.asCharBuffer();
buff.put(arg);
buff.rewind();
for (int i=0, n=buff.length(); i<n; i++) {
System.out.println(i + " : " + buff.get());
}
}
}
}
在上面的代码中,请注意,不能只是将 String 包装在直接 ByteBuffer中。必须首先创建一个缓冲区,先填充它,然后将位置倒回起始点,这样才能从头读。还要记住,字符长度是字节长度的两倍,因此示例中会有 size*2 。
回页首
内存映射文件
第 8 种 Buffer 类型 MappedByteBuffer 只是一种特殊的 ByteBuffer 。 MappedByteBuffer 将文件所在区域直接映射到内存。通常,该区域包含整个文件,但也可以只映射部分文件。所以,必须指定要映射文件的哪部分。而且,与其它 Buffer 对象一样,这里没有构造函数;必须让 java.nio.channels.FileChannel的 map() 方法来获取 MappedByteBuffer 。此外,无需过多涉及通道就可以用 getChannel() 方法从 FileInputStream 或 FileOutputStream获取 FileChannel 。通过从命令行传入文件名来读取文本文件的内容,清单 4 显示了 MappedByteBuffer :
清单 4. 读取内存映射文本文件
import java.io.*;
import java.nio.*;
import java.nio.channels.*;
import java.nio.charset.*;
public class ReadFileBuff {
public static void main(String args[]) throws IOException {
if (args.length != 0) {
String filename = args[0];
FileInputStream fis = new FileInputStream(filename);
FileChannel channel = fis.getChannel();
int length = (int)channel.size();
MappedByteBuffer byteBuffer =
channel.map(FileChannel.MapMode.READ_ONLY, 0, length);
Charset charset = Charset.forName("ISO-8859-1");
CharsetDecoder decoder = charset.newDecoder();
CharBuffer charBuffer = decoder.decode(byteBuffer);
for (int i=0, n=charBuffer.length(); i<n; i++) {
System.out.print(charBuffer.get());
}
}
}
}
Platform: |
Size: 5876 |
Author: 635868631@qq.com |
Hits:
Description: ************************************************************************ * * * * * THIS IS THE H Y P L A S 2.0 README FILE * * ----------------- * * * * HYPLAS is a finite element program for implicit small and large * * strain analisys of hyperelastic and elasto-plastic two-dimensional * * and axisymmetric solids * * * * HYPLAS v2.0 is the companion software to the textbook: * * EA de Souza Neto, D Peric & DRJ Owen. Computational Methods for * * Plasticity: Theory and Applications. Wiley, Chichester, 2008. * * (www.wiley.com/go/desouzaneto) * * * * Copyright (c) 1998-2008 EA de Souza Neto, D Peric, D.R.J. Owen * *----------------------------------------------------------------------* * File last updated: 18 October 2008 * * * * This file belongs in the directory ../HYPLAS_v2.0 * ************************************************************************ * * * I M P O R T A N T * * * * READ SECTIONS 0 TO 3 OF THIS FILE CAREFULLY BEFORE ATTEMPTING * * TO COMPILE AND RUN THE PROGRAM HYPLAS ON YOUR COMPUTER !! * * * * THE AUTHORS DO NOT GUARANTEE THAT ANY SUGGESTIONS/INSTRUCTIONS * * GIVEN IN THIS README FILE WILL WORK ON ANY PARTICULAR OPERATING * * SYSTEM. IF YOU DECIDE TO FOLLOW ANY SUGGESTIONS/INSTRUCTIONS * * GIVEN HERE YOU MUST DO SO AT YOUR OWN RISK. * * * * * * BUG REPORTS: Please send bug reports to * * * * hyplas_v2.0@live.co.uk * * * * Messages sent to the authors' personal email addresses * * will NOT be answered. * ************************************************************************ This file contains the following sections: 0. Copyright statement and disclaimer 0.(a) Copyright statement 0.(b) Disclaimer 0.(c) Conditions of use 1. Introduction 1.(a) Note on portability 2. Compiling and running HYPLAS 2.(a) Memory requirements 2.(b) Testing a newly compiled executable 3. The HYPLAS directory tree 4. Cross-referencing between the source code and the textbook 5. HYPLAS error messaging 6. Further remarks on HYPLAS ************************************************************************ 0. COPYRIGHT STATEMENT AND DISCLAIMER ================================== 0.(a) Copyright statement ------------------- You may only use this program for your own private purposes. You are not allowed, in any circumstances, to distribute this program (including its source code, executable and any other files related to it, either in their original version or any modifications introduced by you, the authors or any other party) in whole or in part, either freely or otherwise, in any medium, without the prior written consent of the copyright holders. 0.(b) Disclaimer ---------- This program (including its source code, executable and any other files related to it) is provided "as is" without warranty of any kind, either expressed or implied, including, but not limited to, any implied warranties of fitness for purpose. In particular, THIS PROGRAM IS BY NO MEANS GUARANTEED TO BE FREE FROM ERRORS. This program (or any modification incorporated to it by you, the authors or any other party) will run entirely at your risk. The results produced by this program are in no way guaranteed to be fit for any purpose. Under no circumstances will the authors/copyright holders be liable to anyone for damages, including any general, special, incidental or consequential damages arising from the use or inability to use the program (including, but not limited to, loss or corruption of data, failure of the program to operate in any particular way as well as damages arising from the use of any results produced by the program for any purpose). 0.(c) Conditions of use ----------------- You may only use this program if you fully understand and agree with the terms of the above disclaimer. You must not use this program if you do not agree with or do not understand (fully or in part) these conditions of use. 1. INTRODUCTION ============ HYPLAS is a finite element code for small and large strain analysis of hyperelastic and elasto-plastic solids. Most procedures implemented in HYPLAS are described in detail in its companion textbook: EA de Souza Neto, D Peric & DRJ Owen. Computational Methods for Plasticity: Theory and Applications. Wiley, Chichester, 2008 (www.wiley.com/go/desouzaneto). 1.(a) Note on Portability ------------------- HYPLAS has been written in standard ANSI FORTRAN 77. Currently, the only known (and deliberate) exceptions to the FORTRAN 77 ANSI standard are the instructions: INCLUDE '' used in many routines to include the HYPLAS database files (common blocks and global variables), and; CALL GETENV('HYPLASHOME',HYPLASHOME) used in subroutine "ERRPRT" (file ../HYPLAS_v2.0/src/GENERAL/errprt.f). This instruction inquires the name of the system environment variable HYPLASHOME and writes it on the character string HYPLASHOME. This instruction is NOT part of the ANSI FORTRAN 77 standard, but seems to work in most currently available FORTRAN 77 compilers. 2. COMPILING AND RUNNING H Y P L A S ================================== The HYPLAS source code is stored in directory ../HYPLAS_v2.0/src/ (../HYPLAS_v2.0/ being the current directory) and all its subdirectories. To generate an executable file, you just need to compile the FORTRAN source files: ../HYPLAS_v2.0/src/hyplas.f and ../HYPLAS_v2.0/src/*/*.f together. We recommend that the executable HYPLAS be stored in the directory ../HYPLAS_v2.0/bin to which the environment variable HYPLASHOME should be set (see below how to set a system environmental variable). WINDOWS (R) systems ------------------- On Microsoft Windows(R) systems, HYPLAS has been successfully compiled using Intel Visual Fortran Compiler(R) integrated with Microsoft Visual Studio(R). Here you only need to create a project that contains all Fortran source files mentioned above as well as the include files ..\HYPLAS_v2.0\src\*.INC On a Windows XP system, the system environment variable HYPLASHOME can be set as follows: 1. Open a File Manager 2. Right-click on the "My Computer" icon 3. Select "Properties" on the drop-down menu 4. A new window named "System Properties" will pop-up. Here select the "Advanced" tab. 5. On the "Advanced" tab, click the "Environment Variables" button. 6. A new window titled "Environment Variables" will pop-up. Here click the button "New" in the "System Variables" section of the window. 7. A new window will pop-up titled "New System Variable". Here you should fill the fields "Variable name" and "Variable Value", respectively, with HYPLASHOME and the path name (in full) of the directory ..\HYPLAS_v2.0\bin. 8. Press "OK" on the relevant pop-up windows. 9. The next time the computer is REBOOTED, this variable will be set to the correct path and HYPLAS should be able to find the error messages file ERROR.RUN if required. UNIX/LINUX systems ------------------ In a UNIX/LINUX operating system using a C-shell, for instance, the HYPLASHOME environment variable should be set with the command: setenv HYPLASHOME where here denotes the full path to the directory ../HYPLAS_v2.0/bin. To compile HYPLAS (from directory ../HYPLAS_v2.0/src) with a FORTRAN 77 compiler such as g77, you can use the command: g77 -o ../bin/hyplas hyplas.f */*.f Note that the executable file "hyplas" will be stored in the directory ../HYPLAS_2.0/bin (i.e. the directory set in the HYPLASHOME environment variable). Alternatively, you may use the Makefile provided (with suitable modifications, if needed) to create the HYPLAS executable. IMPORTANT: Before generating a HYPLAS executable, read Sections 2.(a) and 2.(b) below. 2.(a) Memory Requirements ------------------- HYPLAS memory requirements depend on the array dimensioning parameters set in files: ../HYPLAS_v2.0/src/ ELEMENTS.INC GLBDBASE.INC MATERIAL.INC MAXDIM.INC Files ELEMENTS.INC, GLBDBASE.INC and MATERIAL.INC contain parameters which are associated with the currently implemented finite elements and materials. DO NOT MODIFY THEM ! unless you are absolutely sure of what you are doing (only developers coding new elements or new material models/analysis types may need to modify them by changing the existing dimensioning parameters and/or including new parameters). The ONLY dimensioning file that can be safely modified by the average user is the file MAXDIM.INC This file contains the array dimensioning parameters related to the maximum permissible dimension of problems to be analysed by HYPLAS. These parameters include the maximum number of nodes, elements, element groups, etc. If necessary, CHANGE THESE PARAMETERS TO SUIT YOUR PROBLEM SIZE/MEMORY REQUIREMENTS before compiling HYPLAS. 2.(b) Testing a newly compiled executable ----------------------------------- After you have successfully compiled the HYPLAS source code and created an executable file, the next step is to run some tests to verify that HYPLAS is working well. To do this, proceed as follows: The directory ../HYPLAS_v2.0/book_examples/data_files contains a series of data files named .dat of benchmarked examples described in the companion textbook. The corresponding (benchmarked) result files are in the directory ../HYPLAS_v2.0/book_examples/result_files This directory contains a series of result files named .res generated with the current version of HYPLAS on a tested platform. All these files have been named such that their names start with the textbook section number where the corresponding example is described. For instance, files 14_9_2_tresca.dat and 14_9_2_tresca.res refer to a problem described in section 14.9.2 of the textbook, and so on. To check that HYPLAS is working well on your platform, after compiling HYPLAS, run the program HYPLAS for the examples of files .dat and compare the newly generated results .res with their benchmarked counterparts (of the same filename) in the result_files directory. To run an example, execute HYPLAS and use the keyboard to enter the name of the corresponding data file in full (including the extension .dat). To compare the benchmarked .res files against their newly generated you may proceed as follows: 1. On MICROSOFT WINDOWS systems - Here we have successfully used the software "ExamDiff" (the task was made particularly easy by selecting "View" and then the "Show Differences Only" option - this refers to version 1.8 of this software). 2. On UNIX/LINUX systems - Here we use the "diff" command from a shell window (and set the option to ignore blank spaces). A shell script may be used to perform this task automatically (including running HYPLAS and checking for result file differences) for all benchmarked examples provided. IMPORTANT: THE ONLY ACCEPTABLE DIFFERENCES BETWEEN A THE NEWLY GENERATED RESULT FILES AND THEIR BENCHMARKED COUNTERPARTS ARE THE DIMENSIONING PARAMETERS (FROM FILE MAXDIM.INC) USED TO COMPILE THE NEW EXECUTABLE (THESE PARAMETERS ARE PRINTED RIGHT AT THE BEGINNING OF THE RESULT FILES) AND NUMERICAL DIFFERENCES IN RESULTS DUE TO NUMERICAL "ROUNDING-OFF" (THESE ARE VERY SMALL DIFFERENCES THAT DEPEND ON THE PRECISION OF ARITHMETIC OPERATIONS IN THE PLATFORM USED). ALSO NOTE THAT THE EXAMPLES OF THE COMPANION TEXTBOOK DO NOT COVER ALL FEATURES OF HYPLAS. HENCE THIS TEST DOES NOT GUARANTEE THAT EVERYTHING IS WORKING PROPERLY. 3. THE H Y P L A S DIRECTORY TREE ================================ 3.(a) Summary ------- ../ HYPLAS_v2.0/ bin/ book_examples/ data_files/ result_files/ man/ html/ src/ CRYSTAL/ DAMAGE/ DAMAGED_ELASTIC/ DRUCKER_PRAGER/ ELASTIC/ ELEMENTS/ GENERAL/ MATERIALS/ MATHS/ MOHR_COULOMB/ OGDEN/ TRESCA/ VON_MISES/ VON_MISES_MIXED/ 3.(b) Description ----------- The HYPLAS program directory tree is organised as follows: ../HYPLAS_v2.0/ (this directory) This is the HYPLAS root directory, where the HYPLAS directory tree starts. ../HYPLAS_v2.0/bin/ This directory contains the file ERROR.RUN where most HYPLAS error/warning messages are. IMPORTANT: the environment variable HYPLASHOME should be set to this directory. Otherwise, HYPLAS will not find its error/warning messages when required. We also recommend that the EXECUTABLE of HYPLAS be stored in this directory. ../HYPLAS_v2.0/book_examples/ This directory has the following subdirectories: ../HYPLAS_v2.0/book_examples/data_files ../HYPLAS_v2.0/book_examples/result_files Refer to Section 2.(b) above for further details. ../HYPLAS_v2.0/man/ This is the HYPLAS documentation/manuals directory. It contains the following files: input_man.txt - A concise input data manual for HYPLAS in ASCII format; hyplas_calltree.txt - Contains a flowgraph (shows the call tree) of HYPLAS in ASCII-format. Note: calls to function subprograms are not included in this flowgraph; and the subdirectory: ../HYPLAS_v2.0/man/html This directory contains the hypertext (HTML) format Fortran source code and of manual pages of the entire HYPLAS program. Manual pages with descriptions of each function/subprogram including their argument list are linked to their corresponding HTML-format source code. This allows the user the navigate through the HYPLAS source code using a web browser. To start at the main program, use your web browser to open the file hyplas.html. This facility should be helpful to those trying to understand the flow of program HYPLAS. ../HYPLAS_v2.0/src/ This directory (and its subdirectories) contains the Fortran source code of HYPLAS. The files containing the sources are named following the standard practice: .f where is the name of the FORTRAN procedure (subroutine, function subprogram, etc.) whose source code is in file .f. The source code of the HYPLAS main program is in file hyplas.f and the HYPLAS database (COMMON blocks, array dimensioning parameters and other global parameters) is coded in the "include files" ELEMENTS.INC GLDBASE.INC MATERIAL.INC MAXDIM.INC in this directory. In addition, this directory contains a file named "Makefile" (UNIX-LINUX Release only) which may be used for compiling and linking HYPLAS in UNIX/LINUX systems. The subdirectories of ../HYPLAS_v2.0/src are as follows: ../HYPLAS_v2.0/src/CRYSTAL Contains the source code of all procedures related to the finite strain single crystal plasticity model implemented in HYPLAS. ../HYPLAS_v2.0/src/DAMAGE Source files of the procedures related to the Lemaitre ductile damage model implementation. ../HYPLAS_v2.0/src/DAMAGED_ELASTIC Source files of the procedures related to the damaged elasticity model with crack closure effect. ../HYPLAS_v2.0/src/DRUCKER_PRAGER Source files of the procedures related to the implemented Drucker-Prager plasticity model. ../HYPLAS_v2.0/src/ELASTIC Source files of the procedures related to the linear elasticity model (Hencky model under large strains) implemented. ../HYPLAS_v2.0/src/ELEMENTS Source files of the element interfaces and element-related procedures. ../HYPLAS_v2.0/src/GENERAL Source files of general procedures. ../HYPLAS_v2.0/src/MATERIALS Source files of the material interfaces. ../HYPLAS_v2.0/src/MATHS Source files of the mathematical procedures. ../HYPLAS_v2.0/src/MOHR_COULOMB Source files of the procedures related to the implemented Mohr-Coulomb plasticity model. ../HYPLAS_v2.0/src/OGDEN Source files of the procedures related to the implemented Ogden hyperelasticity model. ../HYPLAS_v2.0/src/TRESCA Source files of the procedures related to the implemented Tresca plasticity model. ../HYPLAS_v2.0/src/VON_MISES Source files of the procedures related to the implemented von Mises plasticity model with isotropic hardening. ../HYPLAS_v2.0/src/VON_MISES_MIXED Source files of the procedures related to the implemented von Mises plasticity model with mixed isotropic/kinematic hardening. 4. CROSS-REFERENCING BETWEEN THE SOURCE CODE AND THE TEXTBOOK ========================================================== Many references are made in the textbook to various subprograms of HYPLAS. These are usually made when a particular procedure described in the text is implemented in the program. The reader should refer to the textbook index. Also, a substantial number of comment lines have been added to the source code of HYPLAS with reference to sections, figures, boxes, etc of the textbook related to the part of the code in question. Such references are usually displayed after the word "REFERENCE:" (in capitals) on commented lines. Searching for this word will take you to the line of code where the particular routine has a reference to the textbook. NOTE: Occasional references to other textbooks/journal papers are also made following the word "REFERENCE:" on commented lines. 5. HYPLAS ERROR MESSAGING ====================== Most error/warning messages issued by HYPLAS are in the ASCII-format file ERROR.RUN (kept in the HYPLASHOME directory - ../HYPLAS_v2.0/bin). All such error/warning messages have an identification code (e.g. ED0015) which is printed both to the standard output (this is usually the computer screen) and to the relevant results file. If you wish to find where in the source code a particular message is being issued, then perform a search for the corresponding message identification code in the entire source code of HYPLAS. 6. FURTHER REMARKS ON HYPLAS ========================= 6.(a) Program efficiency THIS SECTION IS OF INTEREST ONLY TO THOSE WANTING TO MAKE HYPLAS RUN FASTER. It is particularly stressed in the textbook that this program has not been designed having efficiency in mind (refer to Section 5.1.2 of the textbook). Its structure has been designed mainly to illustrate in a relatively clear manner the computer implementation of the techniques and algorithms described in the text, with a particular view to the implementation of solid constitutive models and finite elements. For those who are especially interested in the speed of the code, there are a few tips that could help in this direction. Unfortunately, these involve modifications to the source code which is probably most appropriate to readers with a good level of experience in finite element programming. To those with this particular interest, we can suggest the following: (i) The use of faster linear solvers This is probably the change that would result in a greater gain in efficiency. The Frontal Method adopted in subroutine FRONT (file ../HYPLAS_v2.0/src/GENERAL/front.f) has been designed originally to save memory (back in the days when computer memory was severely limited). There are currently a vast number of methodologies which focus on speeding up the linear solution, in addition to reducing memory storage requirements (which is a particularly important issue in the solution of large scale problems). Some of these are extensions/refinements of the original Frontal solver. We remark that a number of such procedures (with their respective source codes) are available (conditions may apply) from the LAPACK (Linear Algebra PACKage - http://www.netlib.org/lapack) repository or from the HSL Library (http://www.cse.cse.scitech.ac.uk/nag/hsl). For the reader interested in gaining speed, we would recommend the replacement of the existing solver of FRONT by a faster one. We remark though that this is a substantial programming task. Another aspect here is the fact that computing times in FRONT are directly linked to the frontwidth of the system which, in the present version of HYPLAS is fixed and depends, for a given mesh, on how the degrees of freedom are numbered (node numbering). The incorporation of a frontwidth optimiser (which re-numbers the degrees of freedom in order to minimise the frontwidth) in FRONT could produce some good savings in computing times. Such savings become particularly noticeable in larger problems where the original node numbering produces an excessively large frontwidth. (ii) Material-specific computations The issues pointed out here affect only the computing times for specific material models and are expected to have a much lower impact in overall speed than the linear solver issue discussed above. Some of the material model-specific computations carried out in HYPLAS could be made a bit faster. For example, for isotropic models whose stress update is carried out in the principal stress space (such as the Tresca and Mohr-Coulomb models - see routines SUTR and SUMC, files ../HYPLAS_v2.0/src/TRESCA/sutr.f and ../HYPLAS_v2.0/MOHR_COULOMB/sumc.f, respectively) the spectral decomposition of the stress in carried out in the state update update routine and then repeated in the corresponding routine for computation of the consistent tangent operator (refer to files ../HYPLAS_v2.0/src/TRESCA/cttr.f and ../HYPLAS_v2.0/src/MOHR_COULOMB/ctmc.f, respectively, for the Tresca and Mohr-Coulomb plasticity models). Some savings in computing time can be achieved here by storing the stress eigenprojection tensors (these can be stored as state variables) during the execution of the state updating and then retrieving them later for use in the computation of the consistent tangent operator. This change can be incorporated to the code relatively easily. The computation of the exponential map and is derivative for the single crystal plasticity model (routines EXPMAP, file ../HYPLAS_v2.0/src/CRYSTAL/expmap.f and DEXPMP, file ../HYPLAS_v2.0/src/CRYSTAL/dexpmp.f) is carried out in three dimensions (these routines have been adapted from an earlier three-dimensional code). To improve efficiency, these can be adapted to work only in two-dimensional problems by removing the unnecessary operations related to the third dimension. 6.(b) Output of nodal averaged values The reader should be aware that the way in which nodal averaged values of stresses and other variables are calculated in HYPLAS is very basic (and rudimentary). This feature of the program is made available only to help those interested in producing contour plots, etc from results presented in HYPLAS result files and should be useful in many circumstances of interest. This facility has in fact been used in producing many of the figures presented in the textbook. But note, for example, that the values of incremental plastic multipliers for plasticity models may take (inadmissible) negative values when extrapolated from Gauss-point to nodes and averaged. We remark that more sophisticated and refined techniques of transferring Gauss point values of variables to nodal points and obtaining the corresponding smoothed field are available in the current literature. These fall outside the scope of the companion textbook of HYPLAS.
Platform: |
Size: 11008084 |
Author: gtcewli3 |
Hits:
Description: a non-sharing smart pointer class that can be used with STL containers such as std::map, vector, list, set, and deque. The smart pointer has an assignment operator and greater than operator that call the target object s operator.-a non-sharing smart pointer class that can STL be used with containers such as std : : map, vector, list, set, and deque. The smart pointer has an assignment o perator and greater than operator that the call target object s operator.
Platform: |
Size: 2048 |
Author: 张建 |
Hits:
Description: wince下的电子地图Ozi Explorer-wince under the electronic map Father Explorer
Platform: |
Size: 5575680 |
Author: yangou |
Hits:
Description: 展示了位图的显示放大和缩中的操作.别外还展示了半透名位图的显示.-Display bitmap display to enlarge and shrink the operation. Do not display a semi-permeable, but also reputation and map display.
Platform: |
Size: 83968 |
Author: 马成启 |
Hits:
Description: 基于Proj4和GDAL开放源码,开发空间数据坐标转换工具,实现遥感影像和矢量地图在不同地理参考环境下的坐标系统变换。-Proj4 and based on open source GDAL, coordinates the development of spatial data conversion tools, to achieve remote sensing image and vector map of the environment in different geo-referenced coordinate system under the transformation.
Platform: |
Size: 7322624 |
Author: 杨冬 |
Hits:
Description: ROAM Simplistic Implementation
By Bryan Turner
brturn@bellsouth.net
January, 2000
Project file for MS Visual C++ 6.0.
Requires GLUT DLL (www.opengl.org)
Adjust program constants in Landscape.h and Utility.cpp.
MAPS:
Default map is read from HeghtXXX.raw where XXX is the MAP_SIZE
(as defined in Landscape.h). If this map is not found, the program
attempts to open "Map.ved", a Tread Marks map file. Tread Marks maps
will only work for MAP_SIZE == 1024. Also, the MULT_SCALE to view
Tread Marks maps correctly is "0.25f". (www.TreadMarks.com)
CONTROLS:
MOUSE - Hold Left Mouse Button to Rotate View Angle
Q - Change Rendering Mode (Wireframe, Lit, Fill, Texture)
O - Change View Mode (Observe, Follow, Drive, Fly)
W/S - Move forward/back
A/D - Rotate left/right (in Observe Mode only)
F - Stop Animation
R - Toggle Frustum Drawing
0/9 - More/Less Triangles per frame
1/2 - Adjust FOV-ROAM Simplistic Implementation
By Bryan Turner
brturn@bellsouth.net
January, 2000
Project file for MS Visual C++ 6.0.
Requires GLUT DLL (www.opengl.org)
Adjust program constants in Landscape.h and Utility.cpp.
MAPS:
Default map is read from HeghtXXX.raw where XXX is the MAP_SIZE
(as defined in Landscape.h). If this map is not found, the program
attempts to open "Map.ved", a Tread Marks map file. Tread Marks maps
will only work for MAP_SIZE == 1024. Also, the MULT_SCALE to view
Tread Marks maps correctly is "0.25f". (www.TreadMarks.com)
CONTROLS:
MOUSE- Hold Left Mouse Button to Rotate View Angle
Q- Change Rendering Mode (Wireframe, Lit, Fill, Texture)
O- Change View Mode (Observe, Follow, Drive, Fly)
W/S- Move forward/back
A/D- Rotate left/right (in Observe Mode only)
F- Stop Animation
R- Toggle Frustum Drawing
0/9- More/Less Triangles per frame
1/2- Adjust FOV
Platform: |
Size: 380928 |
Author: lifeng |
Hits:
Description: NTGraph.ocx控件的应用例程,能够根据需要绘制出所采集到的数据动态曲线界面美观。-Application of control NTGraph.ocx routines, according to the need to map out the data collected by the dynamic curve of the interface aesthetics.
Platform: |
Size: 1973248 |
Author: 余华 |
Hits:
Description: .NET 轻量级 O/R map 数据层框架,内有生成器和组件源码...暂时仅支持Sqlserver2005和Oracle10g,在实际项目中用过,没什么问题,修修改改的,以后没什么大问题是不改了.
欢迎提交BUG,Email:173023135@qq.com-. NET lightweight O/R map data layer framework and components within the generator supports only a temporary source ... Sqlserver2005 and Oracle10g, used in the actual project, no problem, repair modify the change in the future is no big problem is not changed. welcome the submission of BUG, Email: 173023135@qq.com
Platform: |
Size: 1692672 |
Author: 钟某某 |
Hits:
Description: mapgis二次开发转为jpg的功能,可以完美转换mapgis图形为jpg光栅图。-mapgis jpg into the function of the secondary development
Platform: |
Size: 3072 |
Author: malongwen |
Hits:
Description: dropout和深度学习算法的结合使用,有详细的使用说明和数据集(Three types of layers:
- C: convolutional layer (matrix map)
- MP: max-pooling layer (matrix map)
- F: fully connected layer (vector map)
- O: output layer
Convolutional Layers:
- Scale: scale (size of patch)
- Number of output maps: outputMap
- Shared weights: k
- Bias: b
Max-pooling layer
- Scale: scale (size of patch)
- Max-coordinate matrix: k (1 if max, 0 if not)
Fully connected layer (dimension and number of feature maps stay the same)
- Weight matrix: w
- Bias: b
Output layer (dimension equal to the dimension of output label)
- Weight matrix: w
- Bias: b
Common parameters
- Result: a
- Delta: d)
Platform: |
Size: 37644288 |
Author: 咕_噜
|
Hits:
Description: public static Map<String, Object> ObjectToMapUtil(Object obj){
Map<String,Object> reMap = new HashMap<String,Object>();
Field[] fields = obj.getClass().getDeclaredFields();
for(int i = 0; i < fields.length; i++){
Field subField = obj.getClass().getDeclaredField(fields[i].getName());
subField.setAccessible(true);
Object o = subField.get(info);
reMap.put(fields[i].getName(), o);
}
return reMap;
}(I hope I can help you.json to map.)
Platform: |
Size: 1024 |
Author: 少郎 |
Hits: