Dear Sir/Madam,
I asked a question before, and Prof. Taylor gave me a very inspiring advice. I am very grateful. The following is the link: Setting active equations,set 'ix' for the isw=1 '
http://feap.berkeley.edu/forum/index.php?topic=638.0' . And one of replies is also copied here:
"You will have to write a user module (umacr*.f) to modify the equation structure as you proceed.
Assume you are doing a 2-d problem which normally hass 2-dof's/node (u, v) but you want to have additional dof's for the XFEM. You set the maximum number of dof's on the control record that you need. Feap will automatically delete the unused dof's (> 2) during set up. When you do a solution step and decide what dof's to activate you need to reset the id(ndf,numnp,2) array for the "2" at the dof/node you want active (set it to zero). Then call pnewpr() and a new profile will be created in which the added dof is considered. "
I looked into the 'id', it seems that it can be very easy to get the id(:,:,2) from the id(:,:,1). So, what is the difference between these two? Can you give me more specific explaination to show me how to write this user module.
Thank you! Have a very good day!
Shilmin
Attach parts of the input file and the 'id'
FEAP * * 4-Element Patch Test (Ex. 1)
9,4,1,2,12,4
!MATErial,1
! SOLId
! PLANe STRAin
! ELAStic ISOTropic 1000.0 0.25
! Blank termination record
MATErial 1
USER 1
EEmu 2000 0.2
COORdinates
1 0 0.0 0.0
2 0 4.0 0.0
3 0 10.0 0.0
4 0 0.0 4.5
5 0 5.5 5.5
6 0 10.0 5.0
7 0 0.0 10.0
8 0 4.2 10.0
9 0 10.0 10.0
! Blank termination record
ELEMents
1 1 1 1 2 5 4
2 1 1 2 3 6 5
3 1 1 4 5 8 7
4 1 1 5 6 9 8
! Blank termination record
BOUNdary restraints
1 0 1 1
4 0 1 0
7 0 1 0
! Blank termination record
FORCes
3 0 2.5 0.0
6 0 5.0 0.0
9 0 2.5 0.0
! Blank termination record
END
batch
show,ID
end
stop
Matrix: ID
row/col 1 2 3 4 5 6
1 -1 11 23 -3 46 58
2 -2 12 24 35 47 59
3 1 13 25 36 48 60
4 2 14 26 37 49 61
5 3 15 27 38 50 62
6 4 16 28 39 51 63
7 5 17 29 40 52 64
8 6 18 30 41 53 65
9 7 19 31 42 54 66
10 8 20 32 43 55 67
11 9 21 33 44 56 68
12 10 22 34 45 57 69
Matrix: ID
row/col 7 8 9
1 -4 81 93
2 70 82 94
3 71 83 95
4 72 84 96
5 73 85 97
6 74 86 98
7 75 87 99
8 76 88 100
9 77 89 101
10 78 90 102
11 79 91 103
12 80 92 104
Matrix: ID
row/col 1 2 3 4 5 6
1 1 0 0 1 0 0
2 1 0 0 0 0 0
3 0 0 0 0 0 0
4 0 0 0 0 0 0
5 0 0 0 0 0 0
6 0 0 0 0 0 0
7 0 0 0 0 0 0
8 0 0 0 0 0 0
9 0 0 0 0 0 0
10 0 0 0 0 0 0
11 0 0 0 0 0 0
12 0 0 0 0 0 0
Matrix: ID
row/col 7 8 9
1 1 0 0
2 0 0 0
3 0 0 0
4 0 0 0
5 0 0 0
6 0 0 0
7 0 0 0
8 0 0 0
9 0 0 0
10 0 0 0
11 0 0 0
12 0 0 0