made dotstate and state pointers (targets are not allowed in derived types) and introduced plastic state having aliases to parts of the state.
This commit is contained in:
parent
e3745c835e
commit
55e2de6ffd
|
@ -58,29 +58,47 @@ type, public :: p_intvec
|
||||||
|
|
||||||
!http://stackoverflow.com/questions/3948210/can-i-have-a-pointer-to-an-item-in-an-allocatable-array
|
!http://stackoverflow.com/questions/3948210/can-i-have-a-pointer-to-an-item-in-an-allocatable-array
|
||||||
type, public :: tState
|
type, public :: tState
|
||||||
integer(pInt) :: sizeState = 0_pInt , &
|
integer(pInt) :: &
|
||||||
sizeDotState = 0_pInt, &
|
sizeState = 0_pInt , & !< size of state
|
||||||
sizePostResults = 0_pInt
|
sizeDotState = 0_pInt, & !< size of dot state, i.e. parts of the state that are integrated
|
||||||
logical :: nonlocal = .false.
|
sizePostResults = 0_pInt !< size of output data
|
||||||
real(pReal), allocatable, dimension(:) :: atolState
|
logical :: &
|
||||||
real(pReal), allocatable, dimension(:,:) :: state, & ! material points, state size
|
nonlocal = .false. !< absolute tolerance for state integration
|
||||||
dotState, &
|
real(pReal), allocatable, dimension(:) :: &
|
||||||
state0, &
|
atolState
|
||||||
partionedState0, &
|
real(pReal), pointer, dimension(:,:) :: &
|
||||||
subState0, &
|
state, & !< state
|
||||||
state_backup, &
|
dotState !< state rate
|
||||||
deltaState, &
|
real(pReal), allocatable, dimension(:,:) :: &
|
||||||
previousDotState, &
|
state0, &
|
||||||
previousDotState2, &
|
partionedState0, &
|
||||||
dotState_backup, &
|
subState0, &
|
||||||
RK4dotState
|
state_backup, &
|
||||||
real(pReal), allocatable, dimension(:,:,:) :: RKCK45dotState
|
deltaState, &
|
||||||
|
previousDotState, & !< state rate of previous xxxx
|
||||||
|
previousDotState2, & !< state rate two xxxx ago
|
||||||
|
dotState_backup, & !< backup of state rate
|
||||||
|
RK4dotState
|
||||||
|
real(pReal), allocatable, dimension(:,:,:) :: &
|
||||||
|
RKCK45dotState
|
||||||
|
end type
|
||||||
|
|
||||||
|
type, extends(tState), public :: tPlasticState
|
||||||
|
integer(pInt) :: &
|
||||||
|
nSlip = 0_pInt , &
|
||||||
|
nTwin = 0_pInt, &
|
||||||
|
nTrans = 0_pInt
|
||||||
|
real(pReal), pointer, dimension(:,:) :: &
|
||||||
|
slipRate, & !< slip rate
|
||||||
|
accumulatedSlip !< accumulated plastic slip
|
||||||
end type
|
end type
|
||||||
|
|
||||||
type, public :: tFieldData
|
type, public :: tFieldData
|
||||||
integer(pInt) :: sizeField = 0_pInt , &
|
integer(pInt) :: &
|
||||||
sizePostResults = 0_pInt
|
sizeField = 0_pInt , &
|
||||||
real(pReal), allocatable, dimension(:,:) :: field ! material points, state size
|
sizePostResults = 0_pInt
|
||||||
|
real(pReal), allocatable, dimension(:,:) :: &
|
||||||
|
field !< field data
|
||||||
end type
|
end type
|
||||||
|
|
||||||
public :: &
|
public :: &
|
||||||
|
|
Loading…
Reference in New Issue