Skip to content

Commit

Permalink
Moved the tcl vtk particle output to its own file.
Browse files Browse the repository at this point in the history
  • Loading branch information
rempferg committed Jul 13, 2012
1 parent 07a9bb9 commit 52c3abf
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 26 deletions.
1 change: 1 addition & 0 deletions scripts/init.tcl
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ source polymer.tcl
source statistics.tcl source statistics.tcl
source ABHmath.tcl source ABHmath.tcl
source vtf.tcl source vtf.tcl
source vtk.tcl
source dielectrics.tcl source dielectrics.tcl


# make available readline if Espresso is interactive # make available readline if Espresso is interactive
Expand Down
26 changes: 0 additions & 26 deletions scripts/vtf.tcl
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -287,32 +287,6 @@ proc writevcf { file args } {
if { ! $short } then { puts $file "" } if { ! $short } then { puts $file "" }
} }


#dumps particle positions into a file so that paraview can visualize them
proc writevtk {filename {type "all"}} {
set max_pid [setmd max_part]
set n 0
set fp [open $filename "w"]

for { set pid 0 } { $pid <= $max_pid } { incr pid } {
if {[part $pid print type] == $type || ([part $pid print type] != "na" && $type == "all")} then {
incr n
}
}

puts $fp "# vtk DataFile Version 2.0\nparticles\nASCII\nDATASET UNSTRUCTURED_GRID\nPOINTS $n floats"

for { set pid 0 } { $pid <= $max_pid } { incr pid } {
if {[part $pid print type] == $type || ([part $pid print type] != "na" && $type == "all")} then {
set xpos [expr [lindex [part $pid print folded_pos] 0]]
set ypos [expr [lindex [part $pid print folded_pos] 1]]
set zpos [expr [lindex [part $pid print folded_pos] 2]]
puts $fp "$xpos $ypos $zpos"
}
}

close $fp
}

# get the VMD pid of a given ESPResSo-PID # get the VMD pid of a given ESPResSo-PID
proc vtfpid { pid } { proc vtfpid { pid } {
global vtf_pid global vtf_pid
Expand Down
53 changes: 53 additions & 0 deletions scripts/vtk.tcl
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,53 @@
#
# Copyright (C) 2012 The ESPResSo project
# Copyright (C) 2006,2007,2008,2009,2010,2011 Olaf Lenz
#
# This file is part of ESPResSo.
#
# ESPResSo is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# ESPResSo is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
#############################################################
# #
# vtk.tcl #
# ======= #
# #
# Functions that allow writing VTK files. #
# #
#############################################################

#dumps particle positions into a file so that paraview can visualize them
proc writevtk {filename {type "all"}} {
set max_pid [setmd max_part]
set n 0
set fp [open $filename "w"]

for { set pid 0 } { $pid <= $max_pid } { incr pid } {
if {[part $pid print type] == $type || ([part $pid print type] != "na" && $type == "all")} then {
incr n
}
}

puts $fp "# vtk DataFile Version 2.0\nparticles\nASCII\nDATASET UNSTRUCTURED_GRID\nPOINTS $n floats"

for { set pid 0 } { $pid <= $max_pid } { incr pid } {
if {[part $pid print type] == $type || ([part $pid print type] != "na" && $type == "all")} then {
set xpos [expr [lindex [part $pid print folded_pos] 0]]
set ypos [expr [lindex [part $pid print folded_pos] 1]]
set zpos [expr [lindex [part $pid print folded_pos] 2]]
puts $fp "$xpos $ypos $zpos"
}
}

close $fp
}

0 comments on commit 52c3abf

Please sign in to comment.