Добрый день!
Помогите, пожалуйста, разобраться с проблемой:
Выполняется Steady State расчет в СFX (2 статора и 1 вращающийся регион). В поток запускаются 2 частицы (Solid Particles) со входа в канал. Проблема возникает при экспорте данных (Particle Traveling Distance от координаты Z) этих частиц в файл, а именно: при пересечении частицей границы между статором и ротором (92.6 мм), происходит обнуление координаты и начинается запись для второй частицы.
Возможно ли так экспортировать данные, чтобы запись шла по всей области сначала для одной частицы, потом для другой?
В прикреплении скриншот с описанием проблемы
Заранее спасибо за помощь!
Вложение | Размер |
---|---|
particle_tracks.png | 126.33 КБ |
Здравствуйте!
Я правильно понимаю, что он пишет в последовательности частица1-статор1 > частица 2-статор1 > частица1-ротор > частица2-ротор > частица1-статор2 > частица2-статор2 ? Если так, то проще всего файл с координатами обработать.
Добрый день!
частица 1 - статор1,
частици 2 - статор1-ротор
частица1 - ротор-статор2
частица2-статор2
Для нескольких частиц действительно так можно сделать, но планируется для задачи запускать до 200 таких частиц. Тут ручная обработка очень проблематична.
Хочется понять, как изменить настройки экспорта, чтобы всё записывалось подряд для каждой частицы
Я вручную и не предлагал, можно скрипт сделать. Настроек, определябщих форматирование файла вывода, я не встречал. Думаю, что нужно на perl'е делать скрипт, который будет в particle track выводить по одной частице (вроде там был фильтр по ParticleID) и писать в файл. Могу помочь с этим.
Спасибо большое за совет!
В настройках, отвечающих за PT, можно выбирать отдельно интересующую частицу (Track Selection) и отдельно экспортировать для нее информацию. Возможно ли написание скрипта для файла сессии формата .cse, в котором будет меняться Track Selection в интересующем диапазоне, а результаты будут экспортироваться в тот один и тот же файл, где данные по частицам будут следовать друг за другом?
Прикрепляю архив с файлом .cse для своей задачи и картинку с Track Selection.
P.S. При переходе между статорами и ротором траектория частицы резко изламывается (на скриншоте это хорошо видно). В чем может быть проблема?
можно ещё модель для тестирования?
Конечно! Прикладываю проект
Прошу прощения, чуть не забыл. Попробуйте приведенный ниже код через Command Editor. Всё будет по умолчанию писаться в документы пользователя. При желании можно прописать директорию руками. Дополнительно можно дописать удаление строчек заголовка каждого трека (не знаю, нужно ли вам). Также можно это оформить в виде макроса с кнопочками, но по-моему оно того не стоит.
! use IO::Handle;
! my $nTracks = 3;
! my @fileNames = ();
! my $file_wildcard = "track*.csv";
! for(my $i=1; $i<=$nTracks; $i++){
DATA READER:
CASE:Case domains
RES PARTICLE TRACK:Res PT for RBC
Activate Filter = On
Track Selection = $i
END
END
END
EXPORT:
Export File = track$i.csv
Export Chart Name = Chart 1
Overwrite = On
END
>export chart
!}
! @fileNames = glob ($file_wildcard);
! if (@fileNames){
! while (my $filename = glob $file_wildcard){
! my @fileBuffer = ();
! open IN, "<$filename" or die $!;
! while (my $line = <IN>){
! push (@fileBuffer, $line);
! }
! close(IN);
! open OUT, ">>tracks.csv" or die $!;
! foreach (@fileBuffer) {print OUT "$_"}
! @fileBuffer = ();
! close(OUT);
! }
!}
! unlink @fileNames;
Код криво вставился, это обещали поправить. Пока высылаю отдельным файлом.
Дмитрий, большое спасибо за ответ и потраченное на решение задачи время!
в CFD Post в Command Editor для Res PT for RBC заменил всё на код из файла. После запуска (Process) вылетела ошибка
ERROR Invalid object name specified: 'Chart 1'.
В документах создался пустой файл tracks1.csv
Perl сейчас изучаю, поэтому it will take some time, чтобы полностью понять принцип работы скрипта
Добавлю, что никаких манипуляций с файлом сессии .cse не проводилось
Добавить комментарий