카테고리 없음2014. 12. 16. 23:42

Below shows the commands for creating a file of ekill commands for a selected set of elements. 

Same idea can be used for ealive. Note that the db does not keep track of ealive/ekill so this needs modified to be cummulative.


! select elements to be killed then use these commands to make

! a file of ekill cmds to be read in the restart

!

*get,ecount,elem,,count

*dim,elst,array,ecount

*vget,elst(1),elem, ,elist

*cfopen,ekill,inp

*vwrite,elst(1)

('ekill,',f8.0)

*cfclose


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


modified version to test basic logic:


! select elements to be killed then use these commands to make

! a file of ekill cmds to be read in the restart

!

ecount=5

!*get,ecount,elem,,count

*dim,elst,array,ecount

!*vget,elst(1),elem, ,elist

elst(1)=2,4,6,8,15

*cfopen,ekill,inp

*vwrite,elst(1)

('ekill,',f8.0)

*cfclose



output: ekill.inp file


ekill, 2.

ekill, 4.

ekill, 6.

ekill, 8.

ekill, 15.


Can also make CM of Killed elements & then use it to kill them again after RESTART.


----------------------------- ekill 1st step, ealive 2nd step

1.Add a command object under the contact region he wants to kill containing the following commands:

cont=cid

targ=tid


2.Set up Analysis settings for 2 loadsteps.

3.Add two command objects to the Static Structural Environment branch. One for EKILL and one for EALIVE and use the command object details window to assign each of these to be executed right before LS 1 and LS 2 respectively.


EKILL command object should have the following:

esel,s,type,,cont

esel,a,type,,targ

ekill,all

allsel


EALIVE command object should have the following

esel,s,type,,cont

esel,a,type,,targ

ealive,all

allsel


------------------  execute an EKILL on elements that exceed a certain stress level and run a restart


use *VWRITE to write out the list of elements to be killed to an external txt file and then read this file in before executing the restart.






Posted by 오늘보다 나은 내일
카테고리 없음2014. 12. 1. 15:38

stabilization : small damper on every node (every DOF, actually)

Even though this is a static analysis, a "velocity" value is still calculated for each DOF between each substep by using the du and the dt; consequently, the larger the du/dt, the larger the stabilizing force that will be applied. This is one of the few cases in which the "time" value has any effect in a static analysis.


Because these dampers introduce artificial stabilizing forces, we need to ensure that the effect is minimal. This can be done with the /POST26 commands listed below to plot the stiffness energy (SENE) and stabilization energy (STEN) over time. If the STEN is small compared to SENE, the results are probably relatively accurate.


/post26

/gropt,logy,1

enersol,2,sene

enersol,3,sten

plvar,2,3

Posted by 오늘보다 나은 내일
카테고리 없음2014. 11. 30. 23:20

When it comes to discussing non-linear capabilities, non-convergence error messages are the most common stumbling block.  A non-linearity, in other terms, a change in the stiffness matrix as the calculation is performed, can be due to yielding (plasticity), deformation of the structure (eg. tension on a fishing rod) or to a contact status change. 

When using an implicit scheme it is generally not possible to predict beforehand where the stiffness of the structure is heading, so extra care should be taken when setting up the model. 

Focusing on contact, one of the main difficulties encountered when performing non-linear analyses is in detecting a change in status of the contact. 

In the finite element model the contact definitions are treated as springs which are internally created between the contacting surfaces to achieve the desired contact behaviour. These springs are included in the overall stiffness matrix.

So

Fc = Kc . Xp

Fc: contact force
Kc: contact stiffness
Xp: penetration distance

 

As an example, consider a case where contact has not been established due to initial gaps in the CAD file. The gap means that Xp will be zero and the resulting contact forces (Fc) will be zero. This produces a force imbalance and as inertial effects are not considered in a static analysis the nodes in the body will exhibit infinite velocities. A typical error message from the solver output is below:

 

Picture_1

 

 

 

 

 

 

Pic_2

 

 

 

 

 

The Initial Information table in the Contact Tool will highlight the offending contact definitions. Reviewing this information before solving the model is good practice and can save a lot of solving and debugging time. In this case the problem is an initial gap of 0.14204mm which has resulted in now contacting elements at the start of the solution. 

One approach to solving this problem would be to define an initial load step in which a displacement is applied to the under-constrained body in order to establish contact for subsequent load steps in which the service loads are applied. This displacement could then be deactivated as the model would be stabilised. 

Though this approach will work, it would require additional user effort to set up and test an additional load step which is not a desired part of the analysis result.

 

To alleviate this problem ANSYS has released a new feature since R14 called contact damping.

Pic_3

 

 

 

 

 

 

 

As the contact is not detected, the gap increases at a pseudo-velocity between two substeps, a damping force is computed to prevent it from flying away. The damping coefficients are calculated as a function of the opening gap and pinball radius.

Pic_4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

This option is found in the Advanced section in the Details window for the contact of interest.

The important step now is to define the stabilisation damping factor.

 

What value should I use? What damping force is acceptable?  How can I check my results?

 

This is illustrated with a simple rolling contact test.

Pic_5

 

 

 

 

 

 

 

  

 

The Gap contour plot in the Contact Tool shows that the separation between the contact elements is up to 1mm.

Pic_6

 

 

 

 

 

 

 

 

  

As a first step (LS1 = 1s) a simple bearing load is applied and it is expected that the contact will be initiated, then a rotation of 45’ is applied which is expected to result in translation due to the friction coefficient of 0.4 (LS2 = 2s). 

To retrieve the Energy Solution (/POST26 ENERSOL in the Mechanical APDL interface) a Solution APDL snippet was used to automatically write it to a text file in the project user_file. 

To determine the effect of the damping factor four solutions were produced with the damping factor varying from 1 to 0.001. 

Artificial energy due to contact stabilisation

Graph_1

 

 

 

 

 

 

 

  

This plot shows the Artificial Energy created by the contact damping to ease the initiation process. The number of iterations required to solve the model varied from 189 to 211 from lowest to highest damping ratio. 

The damping force is directly proportional to the damping ratio specified by the user (default =1).
It also depends on the displacement over the time of the current substep and the contact pinball radius.

Pic_7

 

 

 

dn: normal direction damping coefficient

FDMN: normal direction stabilisation damping factor (default=1.0)

PINB, Upinb: pinball radius

Un: normal direction contact gap 

If the damping ratio is very large the force involved can be too high, hence it can become more difficult to converge. This is illustrated by the number of iterations required. 

In this particular case the damping force is only required to stabilise the model and prevent the wheel from flying away, so a smaller damping factor, for example, 0.01 can do the job very well. 

Another advantage of this method is that the effect implied by the formulae is temporary.  As the contact is initiated the structure stabilises itself and the damping forces eventually fade away entirely. 

During the second load step, a surge in the damping force appears and is amplified along with the FDMN value. The reason is that damping is valid for both the normal and tangential contact direction. 


Pic_8

 

 

 

dt: tangential direction damping coefficient

FDMN: normal direction stabilisation scaling factor (default=1.0)

FDMT: tangential direction stabilisation scaling factor (default=0.001)

PINB, Upinb: pinball radius

Un: normal direction contact gap

 

This tangential damping uses the previously defined normal damping factor (FDMN) weighted by the tangential direction damping factor (FDMT) providing a stabilisation effect in this direction. 

That looks just great, now I can apply moment loads without fear instead of using the rotation method outlined above. 

Artificial energy due to contact stabilisation / stiffness energy
Graph_2

 

 

 

 

 

 

 

 

 

 

This plot of artificial energy due to stabilisation / element stiffness energy shows that the artificial energy dominates at the beginning of the solution but gradually becomes insignificant as the solution stabilises and the realistic effects take over. 

Both of the approaches explored here will give a good solution for this particular problem however there will be scenarios in which the initial displacement approach will not be appropriate or will be inconvenient due to other features of the model. Contact stabilisation provides a simplified method for achieving a solution for a model containing contact non-linearities.  Setting up a model shouldn’t be an art or some kind of black magic and it is good to see that recent feature enhancements in ANSYS have recognised the need to simplify this process.


Posted By  on Jun 19, 2014

Posted by 오늘보다 나은 내일
카테고리 없음2014. 11. 19. 17:22

eval 함수로

!Tecplot.exe "C:\path\path\test.plt" 와 같이 절대 경로 지정


Posted by 오늘보다 나은 내일
카테고리 없음2014. 10. 17. 17:00

http://books.google.co.kr/books?id=0XhtwBpMtA8C&pg=PA485&lpg=PA485&dq=lcd+light+leakage+jones+matrix&source=bl&ots=t8NkU_owDO&sig=vk70ynxMsoYA8-VDzgd2h2nsHpo&hl=ko&sa=X&ei=gspAVMDOPMXamgWnp4GQDA&ved=0CFwQ6AEwCw#v=onepage&q=lcd%20light%20leakage%20jones%20matrix&f=false

Posted by 오늘보다 나은 내일
카테고리 없음2014. 10. 13. 16:12

http://www.destechpub.com/links/catalogs/bookstore/advanced-materials-sciencetechnology/composites-4/mechanics-of-adhesives-in-composite-and-metal-joints/

Posted by 오늘보다 나은 내일
카테고리 없음2014. 10. 13. 13:45

http://www.axelproducts.com/downloads/Miller_Axel_ANSYS_2013_Houston.pdf

Posted by 오늘보다 나은 내일
카테고리 없음2014. 10. 7. 13:26

내가 짠 코드가 무분별하게 퍼지는 것을 막기위한 아주 사소한 장치...


function TimeLimitCode

[startdate checkpassword] = key;

startdate = datenum(startdate);

todaysdate = datenum(date);

if (todaysdate - startdate > 0) 

    password = inputdlg('Password:','Licensing for this product has expired',[1 55]);

    if strcmp(checkpassword,password)   % 라이센스가 만료되어도 password 입력으로 실행 가능하도록

        % Insert Main Code File Name

    else

        errordlg('Invalid password','Error');

        return

    end

else

    % Insert Main Code File Name

end



function [mydate, mypassword] = key

mydate       = '31-Dec-2014';

mypassword    = 'my password';; 

Posted by 오늘보다 나은 내일
카테고리 없음2014. 8. 29. 11:28

Standard dialog boxes to select files or directory locations for loading and saving data as you know them from other applications are also available in Matlab.

help

All of them have a large number of configuration options, which cannot be discussed in detail here, thus only some typical application examples are shown. For further options, please consult the Help System.

Select a file: uigetfile

[FileName, PathName] = uigetfile('*.m', 'Select the M-file');

Opens the file selection dialog box. The function returns the file name and the path. If «Cancel» has been clicked, FileName = 0 results.

The first argument '*.m' is a filter, i.e. only files with this extension are shown. If all files should be visible, '*.*' can be entered. The second argument contains the text that will be shown in the window title.
The selection process begins at the current path as it is set in Matlab as the «Current Directory».

If you want the selection to start at a different place in the file system, you can specify it like this:

[FileName,PathName] = ...
uigetfile('d:\matlab\data\*.txt', 'Select data set');

If several file types should be available, you can specify this by means of a cell array. The desired file extensions are listed in the first column of the cell array:

[filename, pathname] = ...
uigetfile({'*.m'; '*.mdl'; '*.mat'; '*.*'}, 'File Selector');

act

Example for a file selection dialog with output of the result. Copy the code lines below into the Command Window (>> can also be copied - Matlab will ignore them).

>> [filename, pathname] = uigetfile('*.txt', 'Pick a text file');
>> if isequal(filename, 0)
>> disp('User selected ''Cancel''')
>> else
>> disp(['User selected ', fullfile(pathname, filename)])
>> end

Resulting file selection windowResulting file selection window

Select a directory: uigetdir

directory_name = uigetdir('c:\data\', 'Please select the directory')

Opens a directory selection dialog box directory_name contains the selected path. If the user hits «Cancel», the value 0 is returned.
The first argument designates the path where the selection process starts out. The second argument holds the window title text.

Directory selection windowDirectory selection window

Select a directory/file name to save a file: uiputfile

[FileName, PathName] = uiputfile('*.dat', 'Save as...')
[FileName, PathName] = uiputfile('vp27data.dat', 'Save as...')

Creates a dialog box to select the location for a file saving operation. The function returns the selected file name and path. In case «Cancel» has been pressed, FileName = 0 results.
The first argument specifies the file type; in the second example, a complete file name is suggested. The second argument again specifies the window title text.

Window to select the location to save a fileWindow to select the location to save a file

Two useful functions to handle file and path names

Often, the queried file names have to be disassembled into their parts, or a complete path has to be assembled from parts. To aid this, there are helpful functions:

act

Please try it out for yourself.

Decompose a complete path into its constituents:fileparts

>> [pathstr, name, ext] = fileparts('c:\data\new\myfile.txt')

And the converse: Generate a complete path from parts: fullfile

>> filepath = fullfile(pathstr, [name ext])
>> filepath = fullfile('C:', 'data', 'new', 'myfile.txt')



Posted by 오늘보다 나은 내일
카테고리 없음2014. 8. 26. 09:56

Batch File을 이용해야 하는 일이 생겼다.


taskkill /f /im  xxxxxxxx.exe


아래는 퍼온 내용



Posted by 오늘보다 나은 내일