Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion src/modules/AbstractKernel/src/AbstractKernel_Class.F90
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,9 @@ MODULE AbstractKernel_Class
TYPE(String) :: outputPath
!! Path to put output files
!! Default is results
LOGICAL(LGT) :: unifyVTK = .FALSE.
!! if it is true all data are exported into one vtu file
!! in WriteData method
INTEGER(I4B) :: coordinateSystem = DEFAULT_coordinateSystem
!! Spatial coordinate system type. It can take following values
!! `KERNEL_CARTESIAN` for Cartesian coordinates
Expand Down Expand Up @@ -774,7 +777,8 @@ MODULE SUBROUTINE SetAbstractKernelParam( &
& rtoleranceForDisplacement, atoleranceForDisplacement, &
& rtoleranceForVelocity, atoleranceForVelocity, &
& rtoleranceForResidual, atoleranceForResidual, tanmatProp, &
& tOverlappedMaterials, outputPath, tPointSource, showTime)
& tOverlappedMaterials, outputPath, tPointSource, showTime, &
& unifyVTK)
CHARACTER(*), INTENT(IN) :: prefix
INTEGER(I4B), INTENT(IN) :: problemType
!! Kernel problem type. Problem can be scalar, vector, or multi-physics
Expand Down Expand Up @@ -916,6 +920,8 @@ MODULE SUBROUTINE SetAbstractKernelParam( &
!! total number of point sources, size of nbcPointSource
LOGICAL(LGT), OPTIONAL, INTENT(IN) :: showTime
!! Show time of each steps
LOGICAL(LGT), OPTIONAL, INTENT(IN) :: unifyVTK
!! unified write data to vtk file
END SUBROUTINE SetAbstractKernelParam
END INTERFACE

Expand Down
6 changes: 6 additions & 0 deletions src/submodules/AbstractKernel/src/[email protected]
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,9 @@
CALL Set(param, .TRUE., prefix, "showTime", &
& Input(option=showTime, default=.FALSE.))

CALL Set(param, .TRUE., prefix, "unifyVTK", &
& Input(option=unifyVTK, default=.FALSE.))

#ifdef DEBUG_VER
CALL e%RaiseInformation(modName//'::'//myName//' - '// &
& '[END]')
Expand Down Expand Up @@ -508,6 +511,8 @@
CALL obj%showTimeFile%WRITE(val=temp_str)
END IF

CALL GetValue(param, prefix, "unifyVTK", obj%unifyVTK)

#ifdef DEBUG_VER
CALL e%RaiseInformation(modName//'::'//myName//' - '// &
& '[END]')
Expand All @@ -530,6 +535,7 @@

obj%tOverlappedMaterials = 0
obj%outputPath = ""
obj%unifyVTK = .FALSE.
obj%tanmatProp = ""
obj%problemType = 0
obj%IsInitiated = .FALSE.
Expand Down
66 changes: 42 additions & 24 deletions src/submodules/AbstractKernel/src/[email protected]
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
CHARACTER(*), PARAMETER :: myName = "obj_Display()"
TYPE(CPUTime_) :: TypeCPUTime


IF (obj%showTime) CALL TypeCPUTime%SetStartTime()

CALL Display(msg, unitno=unitno)
Expand All @@ -54,6 +53,7 @@
CALL Display(obj%engine, "engine: ", unitno=unitno)
CALL Display(obj%tanmatProp, "tanmatProp: ", unitno=unitno)
CALL Display(obj%outputPath, "outputPath: ", unitno=unitno)
CALL Display(obj%unifyVTK, "unifyVTK: ", unitNo=unitNo)
CALL Display(obj%coordinateSystem, "coordinateSystem: ", unitno=unitno)
CALL Display(obj%maxIter, "maxIter: ", unitno=unitno)
CALL Display(obj%timeDependency, "timeDependency: ", unitno=unitno)
Expand Down Expand Up @@ -371,7 +371,6 @@
LOGICAL(LGT) :: isok, problem
TYPE(CPUTime_) :: TypeCPUTime


IF (obj%showTime) CALL TypeCPUTime%SetStartTime()

#ifdef DEBUG_VER
Expand Down Expand Up @@ -441,7 +440,8 @@
TYPE(VTKFile_) :: avtk
TYPE(String) :: filename
TYPE(CPUTime_) :: TypeCPUTime

TYPE(AbstractNodeFieldPointer_) :: anfptr(3)
INTEGER(I4B) :: ii

IF (obj%showTime) CALL TypeCPUTime%SetStartTime()

Expand All @@ -457,31 +457,49 @@
RETURN
END IF

isok = ASSOCIATED(obj%displacement)
IF (isok) THEN
filename = obj%outputPath//obj%GetPrefix()//"_displacement_" &
& //tostring(obj%currentTimeStep)//".vtu"
CALL avtk%InitiateVTKFile(filename=filename%chars())
CALL obj%displacement%WriteData(vtk=avtk)
CALL avtk%DEALLOCATE()
END IF
DO ii = 1, 3; anfptr(ii)%ptr => NULL(); END DO

isok = ASSOCIATED(obj%velocity)
IF (isok) THEN
filename = obj%outputPath//obj%GetPrefix()//"_velocity_" &
& //tostring(obj%currentTimeStep)//".vtu"
CALL avtk%InitiateVTKFile(filename=filename%chars())
CALL obj%velocity%WriteData(vtk=avtk)
CALL avtk%DEALLOCATE()
END IF
IF (obj%unifyVTK) THEN

isok = ASSOCIATED(obj%acceleration)
IF (isok) THEN
filename = obj%outputPath//obj%GetPrefix()//"_acceleration_" &
& //tostring(obj%currentTimeStep)//".vtu"
filename = obj%outputPath//obj%GetPrefix()//"_result"// &
& tostring(obj%currentTimeStep)//".vtu"
CALL avtk%InitiateVTKFile(filename=filename%chars())
CALL obj%acceleration%WriteData(vtk=avtk)
isok = ASSOCIATED(obj%displacement)
IF (isok) anfptr(1)%ptr => obj%displacement
isok = ASSOCIATED(obj%velocity)
IF (isok) anfptr(2)%ptr => obj%velocity
isok = ASSOCIATED(obj%acceleration)
IF (isok) anfptr(3)%ptr => obj%acceleration
CALL NodeFieldsWriteData(obj=anfptr, vtk=avtk)
CALL avtk%DEALLOCATE()

ELSE
isok = ASSOCIATED(obj%displacement)
IF (isok) THEN
filename = obj%outputPath//obj%GetPrefix()//"_displacement_" &
& //tostring(obj%currentTimeStep)//".vtu"
CALL avtk%InitiateVTKFile(filename=filename%chars())
CALL obj%displacement%WriteData(vtk=avtk)
CALL avtk%DEALLOCATE()
END IF

isok = ASSOCIATED(obj%velocity)
IF (isok) THEN
filename = obj%outputPath//obj%GetPrefix()//"_velocity_" &
& //tostring(obj%currentTimeStep)//".vtu"
CALL avtk%InitiateVTKFile(filename=filename%chars())
CALL obj%velocity%WriteData(vtk=avtk)
CALL avtk%DEALLOCATE()
END IF

isok = ASSOCIATED(obj%acceleration)
IF (isok) THEN
filename = obj%outputPath//obj%GetPrefix()//"_acceleration_" &
& //tostring(obj%currentTimeStep)//".vtu"
CALL avtk%InitiateVTKFile(filename=filename%chars())
CALL obj%acceleration%WriteData(vtk=avtk)
CALL avtk%DEALLOCATE()
END IF
END IF

#ifdef DEBUG_VER
Expand Down
7 changes: 6 additions & 1 deletion src/submodules/AbstractKernel/src/[email protected]
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
INTEGER(I4B), ALLOCATABLE :: materialInterfaces(:)

LOGICAL(LGT) :: isConstantMatProp, isIsotropic, isIncompressible, &
& isSymNitsche, problem, showTime
& isSymNitsche, problem, showTime, unifyVTK
REAL(DFP) :: nitscheAlpha, rtoleranceForDisplacement, &
& atoleranceForDisplacement, rtoleranceForVelocity, &
& atoleranceForVelocity, rtoleranceForResidual, atoleranceForResidual, &
Expand Down Expand Up @@ -109,6 +109,10 @@
& outputPath%raw, DEFAULT_OUTPUT_PATH, &
& origin=origin, stat=stat)

CALL toml_get(table, "unifyVTK", &
& unifyVTK, .FALSE., &
& origin=origin, stat=stat)

CALL toml_get(table, "problemType", problemType%raw, &
& DEFAULT_PROBLEM_TYPE_CHAR, origin=origin, stat=stat)

Expand Down Expand Up @@ -357,6 +361,7 @@
& atoleranceForResidual=atoleranceForResidual, &
& tanmatProp=tanmatProp%chars(), &
& outputPath=outputPath%chars(), &
& unifyVTK=unifyVTK, &
& tOverlappedMaterials=tOverlappedMaterials, &
& showTime=showTime)

Expand Down